diff --git a/actionpack/lib/action_view/helpers/tag_helper.rb b/actionpack/lib/action_view/helpers/tag_helper.rb
index d37ca766af211..1c8d2db183507 100644
--- a/actionpack/lib/action_view/helpers/tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/tag_helper.rb
@@ -9,7 +9,7 @@ module Helpers #:nodoc:
module TagHelper
include ERB::Util
- BOOLEAN_ATTRIBUTES = %w(disabled readonly multiple).to_set
+ BOOLEAN_ATTRIBUTES = %w(disabled readonly multiple checked).to_set
BOOLEAN_ATTRIBUTES.merge(BOOLEAN_ATTRIBUTES.map(&:to_sym))
# Returns an empty HTML tag of type +name+ which by default is XHTML
diff --git a/actionpack/test/template/form_tag_helper_test.rb b/actionpack/test/template/form_tag_helper_test.rb
index f8add0bab1e48..0c8af60aa47ba 100644
--- a/actionpack/test/template/form_tag_helper_test.rb
+++ b/actionpack/test/template/form_tag_helper_test.rb
@@ -238,6 +238,7 @@ def test_label_tag_id_sanitized
def test_boolean_options
assert_dom_equal %(), check_box_tag("admin", 1, true, 'disabled' => true, :readonly => "yes")
assert_dom_equal %(), check_box_tag("admin", 1, true, :disabled => false, :readonly => nil)
+ assert_dom_equal %(), tag(:input, :type => "checkbox", :checked => false)
assert_dom_equal %(), select_tag("people", "", :multiple => true)
assert_dom_equal %(), select_tag("people[]", "", :multiple => true)
assert_dom_equal %(), select_tag("people", "", :multiple => nil)