You must clear the interrupt bit that caused the interrupt in the first place. For example, lets say you have TMR0 enables INTCON<5>. When the timmer overflows it sets the TOIF flag <2>. You must clear this flag in the interrupt routine or when it goes back out of the interrupt by the RETFIE then it goes right back in because the TOIF flag is set. So do a bcf INTCON, 2 in the interrupt routine. Mathew Cohen wrote: > Hi All, > > Why when I put the RETFIE instruction after my interupt routine does the > program go bak and loop through the interupt routine over and over. I > thought it should return the PC back to were it was before the interupt. > > Thanks in advance > > Mathew Cohen