"Many beginners think that if you connect nothing to an input it will read as a low, this is not true. It will certainly read something but without any connection, the input is said to be floating. In practice this usually results in reading a succession of highs and lows, seemingly at random. In fact what is happening is that the input is acting as an antenna and picking up lots of signals out of the air. This is mainly mains interference but can be any other signals. Also if you touch the pin then the situation gets worse and this often startles and amazes a beginner but this is perfectly normal behaviour."
Well I certainly qualify as a beginner though "amazed" isn't the word I'd have used.
I'll try hooking up a few other buttons and see if this solves it but I'm fairly certain it will.
Thanks!