Learning loops. One student straight coded, no loop. Program kept abending. Not knowing what we were looking at, we dumped the error log and looked at the generated assembler code. Comparing first pass to 2nd pass we found one instruction out of sequence. Student (not me) put in goto dummy and goto back everything worked. Since then I've always been aware of timing issues. They pop up at the most inopportune times. As you have just seen. :-(