See the discussion here: https://groups.google.com/d/msg/liftweb/q21dIosJ_oY/p3WgQDeEMmAJ
Because buttons aren't serialized with the rest of a form's fields, Lift sets a global liftAjax.lift_uriSuffix variable to the function id of the button that was clicked. Currently, that value is only sent during the first request and isn't stored with the rest of the form data for use during a retry. I've got a fix coming today to take care of that.
Made sure that lift_uriSuffix is saved for any subsequent retries.
By the way, I've tried the solution we proposed on the thread, and it does seem to work.
And so, +1 ;)