diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 7f9a948f66..40cba442d4 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Handle corner case with image_tag when passed 'messed up' image names. #9018 [duncanbeevers, mpalmer]
+
* Add label_tag helper for generating elements. #10802 [DefV]
* Introduce TemplateFinder to handle view paths and lookups. #10800 [Pratik Naik]
diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
index 30f136103d..12fbbb0dd6 100644
--- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
@@ -398,7 +398,7 @@ module ActionView
options.symbolize_keys!
options[:src] = path_to_image(source)
- options[:alt] ||= File.basename(options[:src], '.*').split('.').first.capitalize
+ options[:alt] ||= File.basename(options[:src], '.*').split('.').first.to_s.capitalize
if size = options.delete(:size)
options[:width], options[:height] = size.split("x") if size =~ %r{^\d+x\d+$}
diff --git a/actionpack/test/template/asset_tag_helper_test.rb b/actionpack/test/template/asset_tag_helper_test.rb
index 37392b9f67..3b614ad2a0 100644
--- a/actionpack/test/template/asset_tag_helper_test.rb
+++ b/actionpack/test/template/asset_tag_helper_test.rb
@@ -131,6 +131,7 @@ class AssetTagHelperTest < Test::Unit::TestCase
ImageLinkToTag = {
%(image_tag("xml.png")) => %(
),
+ %(image_tag("..jpg")) => %(
),
%(image_tag("rss.gif", :alt => "rss syndication")) => %(
),
%(image_tag("gold.png", :size => "45x70")) => %(
),
%(image_tag("gold.png", "size" => "45x70")) => %(
),