Vladimir, thanks for the reply. I did try Steve's code change but without the NOP and it worked fine. I dont have any real 'cable' length. I have the PIC on a piece of stripboard (parallel strips of copper connector providing buses in one direction) and the LCD is attached directly to the board about 6cm away. I suspect that the copper strips are sufficiently capacitive to cause the problem. Changing the read code to gather the data when E is asserted solves the problem so thanks to Steve and to you for confirming Brian Brian Jones Java Technology Centre IBM Hursley