Do you really have to change it legally? He can call himself anything he wants, and pretend it's a nickname. I was called a a different name than my legal name until I met my dh. He preferred my legal name, so I started going by that. After a few years, when I had just got used to it, he started calling me my "nickname" again. Now people don't know what to call me, because we use both. :)
But it was never a problem legally.
Anyway, if he wants to be known as John, he can just start calling himself that.