diff --git a/actionview/lib/action_view/helpers/form_tag_helper.rb b/actionview/lib/action_view/helpers/form_tag_helper.rb
index <HASH>..<HASH> 100644
--- a/actionview/lib/action_view/helpers/form_tag_helper.rb
+++ b/actionview/lib/action_view/helpers/form_tag_helper.rb
@@ -469,13 +469,17 @@ module ActionView
       #   # => <button data-disable-with="Please wait..." name="button" type="submit">Checkout</button>
       #
       def button_tag(content_or_options = nil, options = nil, &block)
+        options ||= {}
+        default_options = { 'name' => 'button', 'type' => 'submit' }
 
         if content_or_options.is_a?(Hash)
           options = content_or_options
           content_or_options = nil
         end
 
-        options = button_tag_options_with_defaults(options)
+        options = options.stringify_keys
+        options.reverse_merge default_options
+
         content_tag :button, content_or_options || 'Button', options, &block
       end
 
@@ -742,14 +746,6 @@ module ActionView
         def sanitize_to_id(name)
           name.to_s.delete(']').gsub(/[^-a-zA-Z0-9:.]/, "_")
         end
-
-        def button_tag_options_with_defaults(options)
-          options = options || {}
-          options = options.stringify_keys
-
-          default_options = { 'name' => 'button', 'type' => 'submit' }
-          options.reverse_merge default_options
-        end
     end
   end
 end
cleanup and move extracted method right into the helper