Index: lib/rubygems/platform.rb
===================================================================
--- lib/rubygems/platform.rb	(revision 1420)
+++ lib/rubygems/platform.rb	(working copy)
@@ -13,7 +13,9 @@
   attr_accessor :version
 
   def self.local
-    @local ||= new Config::CONFIG['arch']
+    arch = Config::CONFIG['arch']
+    arch = "#{arch}_60" if Config::CONFIG['RUBY_SO_NAME'] =~ /^msvcrt-ruby/
+    @local ||= new(arch)
   end
 
   def self.match(platform)
@@ -64,8 +66,6 @@
                         os = $1
                         if $3 then
                           [ os, $3   ]
-                        elsif Config::CONFIG['RUBY_SO_NAME'] =~ /^msvcrt-ruby/ then
-                          [ os, '60' ]
                         else
                           [ os, nil  ]
                         end
Index: test/test_gem_platform.rb
===================================================================
--- test/test_gem_platform.rb	(revision 1420)
+++ test/test_gem_platform.rb	(working copy)
@@ -85,7 +85,7 @@
     orig_RUBY_SO_NAME = Config::CONFIG['RUBY_SO_NAME']
     Config::CONFIG['RUBY_SO_NAME'] = 'msvcrt-ruby18'
 
-    expected = %w[x86 mswin32 60]
+    expected = ['x86', 'mswin32', nil]
 
     platform = Gem::Platform.new 'i386-mswin32'
 
@@ -108,7 +108,7 @@
 
   def test_to_s
     if win_platform? then
-      assert_equal 'x86-mswin32', Gem::Platform.local.to_s
+      assert_equal 'x86-mswin32-60', Gem::Platform.local.to_s
     else
       assert_equal 'x86-darwin-8', Gem::Platform.local.to_s
     end
@@ -177,6 +177,7 @@
     # oddballs
     assert_match 'i386-mswin32-mq5.3', Gem::Platform.local
     assert_match 'i386-mswin32-mq6',   Gem::Platform.local
+    deny_match   'i386-mswin32_80',    Gem::Platform.local
     deny_match   'win32-1.8.2-VC7',    Gem::Platform.local
     deny_match   'win32-1.8.4-VC6',    Gem::Platform.local
     deny_match   'win32-source',       Gem::Platform.local
