Subsequent to Kaye's departure, Nather was asked to fix the bug. While examining the code, he was puzzled to discover that it contained what appeared to be an infinite loop, yet control did not remain inside the loop. Eventually he realized that Kaye was using self-modifying code to process elements of an array, and had coded the loop in such a way as to take advantage of an overflow. Adding 1 to the address field of an instruction that referred to address "x" normally just changed the address to "x"+1. But when "x" was already the highest possible address, not only did the address wrap around to 0, but a 1 was carried into the bits from which the opcode would be read—in this case changing the opcode to "jump to" so that the full instruction became "jump to address 0". This impressed Nather so much that, out of respect, he gave up the task and reported that he could not find the bug.