edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;C735797
File: RubyContext.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;C735797  (server)    2/8/2009 1:02 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyContext.cs;ErrorMessageFix
@@ -605,6 +605,12 @@
             }
         }
 
+        internal bool TryGetModule(Type/*!*/ type, out RubyModule result) {
+            lock (ModuleCacheLock) {
+                return _moduleCache.TryGetValue(type, out result);
+            }
+        }
+
         internal bool TryGetModuleNoLock(Type/*!*/ type, out RubyModule result) {
             return _moduleCache.TryGetValue(type, out result);
         }
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyBinder.cs;C723981
File: RubyBinder.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyBinder.cs;C723981  (server)    2/8/2009 1:02 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyBinder.cs;ErrorMessageFix
@@ -48,8 +48,8 @@
         }
 
         protected override string GetTypeName(Type t) {
-            RubyClass rubyClass = _context.GetOrCreateClass(t);
-            return rubyClass.Name;
+            RubyModule module;
+            return _context.TryGetModule(t, out module) ? module.Name : RubyUtils.GetQualifiedName(t);
         }
 
         public override Actions.ErrorInfo MakeInvalidParametersError(BindingTarget target) {
===================================================================
