Perhaps I was half right then (ie also half wrong!) in that the code has been changed, rather than corrupted. At least I can pretend to understand how these things work :D
Tim, I guess everyone is not as diligent as you, I will confess I have slipped too. It looks like Dan's alteration is a 'catch all' solution ...