I think he meant 'running it all through an ICD2' Simplify your code, so you have only the two uarts interrupting, both at high priority. Make them so they both receive only, disable transmits. In your ISR, decide first which uart is interrupting. Put a scope trigger in each branch. Verify that on the keyboard uart you see exactly one pulse every time you hit a key. On the other, you should see a pulse every time the GPS transmits a byte. Don't assume anything else, just get to that baseline first. This is harder to do with an ICD, because breakpoints severly disturb the timing relationships between interrupts. Neil -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist