diff --git a/bob/buildout/script.py b/bob/buildout/script.py
index d26b9d7f40a111a4d6f21299c5d5ca2676ea5e11..20d290672c4c476a0b5116d7e54733381f27ccd6 100644
--- a/bob/buildout/script.py
+++ b/bob/buildout/script.py
@@ -30,12 +30,17 @@ import sys
 sys.path[0:0] = [
   %%(path)s,
   ]
-if sys.version_info[:2] >= (3, 6): #see: http://bugs.python.org/issue30167
+
+#see: http://bugs.python.org/issue30167
+if sys.version_info[:2] >= (3, 6) and \
+    sys.modules['__main__'].__loader__ is not None:
   _hack = str(sys.modules['__main__'].__loader__.__module__)
   sys.modules['__main__'].__loader__.__module__ += '_'
 import site #initializes site properly
 site.main() #this is required for python>=3.4
-if sys.version_info[:2] >= (3, 6): #restore original value just in case...
+if sys.version_info[:2] >= (3, 6) and \
+    sys.modules['__main__'].__loader__ is not None:
+  #restores original value
   sys.modules['__main__'].__loader__.__module__ = _hack
 import pkg_resources #initializes virtualenvs properly
 %%(initialization)s