Here is a monkey patch that you can put in your initializers (tested on Rails 4.0.3):
class ActionController::Responder
def navigation_behavior_with_errors(error)
if !get? && has_errors? && default_action
render :action => default_action, status: :unprocessable_entity
return
end
navigation_behavior_without_errors(error)
end
alias_method_chain :navigation_behavior, :errors
end