I've looked at the errata page and set my read/write/verify routines as shown. I'm running an 'LF627 at 4Mhz at 3.0Volts and having trouble reading EE values at full speed. If I step through the code on my ICE2000 everything works fine. If I run at full speed, when I read two values they come back equal to the first. In other words: EEADR 0x00 = AA EEADR 0x01 = 55 If I read EEADR 0x00 and store it in a register it equals AA. Then if I read EEADR 0x01 and store it in a register it also equals AA. If I step through the program, EEADR 0x01 = 55. Just to test it, I put a 10uS delay between reads - no change. Then I tried to read EEADR 0x00 then 0x04 - no change. Any thoughts would be greatly appreciated. Thanks, Tim Crist -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics