did you really reversed the assignement from NodeOne := NodeTwo; to NodeTwo := NodeOne; ? If yes then there shouldn't be any random numbers printed (by the way do not call new(nodetwo) if you reverse the assignment) if not and you simple added the new(nodeTwo) as I mentioned earlier then its expected to see random numbers.