Thank you for your help! It turned out that it was getting passed a variable that isn't initialised straight away which caused the button to become completely non-reactive. I just re-declared the variable inside the button function and it's all good. That telepathy does the trick