diff -r c3a09c535001 Lib/importlib/_bootstrap.py --- a/Lib/importlib/_bootstrap.py Sat Feb 23 08:40:39 2013 +0200 +++ b/Lib/importlib/_bootstrap.py Sat Feb 23 17:16:32 2013 +0100 @@ -510,7 +510,7 @@ """Set __loader__ on the returned module.""" def set_loader_wrapper(self, *args, **kwargs): module = fxn(self, *args, **kwargs) - if not hasattr(module, '__loader__'): + if getattr(module, '__loader__', None) is None: module.__loader__ = self return module _wrap(set_loader_wrapper, fxn) @@ -1567,7 +1567,7 @@ except AttributeError: pass # Set loader if need be. - if not hasattr(module, '__loader__'): + if getattr(module, '__loader__', None) is None: try: module.__loader__ = loader except AttributeError: @@ -1728,7 +1728,7 @@ module_type = type(sys) for name, module in sys.modules.items(): if isinstance(module, module_type): - if not hasattr(module, '__loader__'): + if getattr(module, '__loader__', None) is None: if name in sys.builtin_module_names: module.__loader__ = BuiltinImporter elif _imp.is_frozen(name):