Is that really the BIT that you want to test? (i.e. 0x00 != 0x01) Did you clear the interupt before you enabled it? Did you clear the interupt in the ISR? Be careful of the following bit toggling tricks... -instead of setting the value in PORTX, you toggle TRISX -this seems to work in some cases but if it fails, it will cause much pain and suffering -sometimes it is better to write a little more code and to have it work for sure -this issue has come up when porting code from 16F84 to 16F877