I have run into the same problem as described here.
Only the question is marked as answered with only an explanation as to why you may have to click twice when using
Posting your code is always a good idea, That way we could run your code in a test environment and modify it to ensure it works before posting our answer.
I would suggest adding
causesValidation="true"
to your button to see if that works.