diff --git a/Lib/inspect.py b/Lib/inspect.py
index 80f65b53..4baebe0 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -366,12 +366,12 @@
     except TypeError:
         return None
     if file in modulesbyfile:
-        return sys.modules[modulesbyfile[file]]
+        return sys.modules.get(modulesbyfile[file])
     for module in sys.modules.values():
         if hasattr(module, '__file__'):
             modulesbyfile[getabsfile(module)] = module.__name__
     if file in modulesbyfile:
-        return sys.modules[modulesbyfile[file]]
+        return sys.modules.get(modulesbyfile[file])
     main = sys.modules['__main__']
     if hasattr(main, object.__name__):
         mainobject = getattr(main, object.__name__)
