You disable the button when you click on it? Why? When you are clicking on a button, it's in pressed state. Since you disable it right then and there, it never gets the "unpressed" state, which is not right. You should delay your logic until the end of frame at least -- use a coroutine if nothing else.