Hi I've been struggling with a problem for a while now so I thought that maybe somebody out there may have seen this one before. Basically I'm seeing my RBIE/RBIF (Int on port b change) interrupt routine being called even though the RBIE (enable flag) is clear. Basically my int handler looks like this..... InterruptVector push ; Always save registers etc CheckInterrupt btfsc INTCON, RBIF ; Is it a PORTB int ? goto ServicePORTB ; yes so go do it ... ... ServicePORTB btfss INTCON, RBIE ; Test to see if we have ints enabled nop ; This should never be executed! bcf INTCON, RBIE ; turn off further ints movf PORTB, W ; read port to reset it bcf INTCON, RBIF ; say we have seen this change .... .... EndInterrupt pop ; restore things retfie ; return and re-enable ints Ok what I see happening is that if I set a breakpoint on the nop just after the ServicePORTB label. Then From time to time I get a break. This was really screwing up the rest of my interrupt routine (easy to fix just replace the nop with a goto to skip the int routine). What seems to happen is that the int routine gets called once with RBIE enabled - OK, then immediately again with RBIE now disabled - not so good. So my question is - should this happen? If so why? BTW the interrupt gets enabled (RBIE set in the main body of the code The environment I'm using is an ICEPIC emulator with the 16C71/16C7110/16C711 module installed. The signal that I'm feeding into a single pin on PORTB is a rather noisy standard Radio Control pulse (+ve pulse of length 1-2mS repeated every 20mS). Thanks Andy