diff --git a/hgdemandimport/demandimportpy2.py b/hgdemandimport/demandimportpy2.py
index c384ac3ea147adbd590553efb65b453eecfa05ed_aGdkZW1hbmRpbXBvcnQvZGVtYW5kaW1wb3J0cHkyLnB5..ded3ebae8779382d3b397bc2d9b4999827cac719_aGdkZW1hbmRpbXBvcnQvZGVtYW5kaW1wb3J0cHkyLnB5 100644
--- a/hgdemandimport/demandimportpy2.py
+++ b/hgdemandimport/demandimportpy2.py
@@ -46,7 +46,6 @@
 level = -1
 if sys.version_info[0] >= 3:
     level = 0
-_import = _origimport
 
 def _hgextimport(importfunc, name, globals, *args, **kwargs):
     try:
@@ -99,7 +98,7 @@
     def _load(self):
         if not self._module:
             head, globals, locals, after, level, modrefs = self._data
-            mod = _hgextimport(_import, head, globals, locals, None, level)
+            mod = _hgextimport(_origimport, head, globals, locals, None, level)
             if mod is self:
                 # In this case, _hgextimport() above should imply
                 # _demandimport(). Otherwise, _hgextimport() never
@@ -176,10 +175,10 @@
 def _demandimport(name, globals=None, locals=None, fromlist=None, level=level):
     if locals is None or name in ignore or fromlist == ('*',):
         # these cases we can't really delay
-        return _hgextimport(_import, name, globals, locals, fromlist, level)
+        return _hgextimport(_origimport, name, globals, locals, fromlist, level)
     elif not fromlist:
         # import a [as b]
         if '.' in name: # a.b
             base, rest = name.split('.', 1)
             # email.__init__ loading email.mime
             if globals and globals.get('__name__', None) == base:
@@ -180,10 +179,10 @@
     elif not fromlist:
         # import a [as b]
         if '.' in name: # a.b
             base, rest = name.split('.', 1)
             # email.__init__ loading email.mime
             if globals and globals.get('__name__', None) == base:
-                return _import(name, globals, locals, fromlist, level)
+                return _origimport(name, globals, locals, fromlist, level)
             # if a is already demand-loaded, add b to its submodule list
             if base in locals:
                 if isinstance(locals[base], _demandmod):
diff --git a/tests/test-extension.t b/tests/test-extension.t
index c384ac3ea147adbd590553efb65b453eecfa05ed_dGVzdHMvdGVzdC1leHRlbnNpb24udA==..ded3ebae8779382d3b397bc2d9b4999827cac719_dGVzdHMvdGVzdC1leHRlbnNpb24udA== 100644
--- a/tests/test-extension.t
+++ b/tests/test-extension.t
@@ -1672,7 +1672,7 @@
     File "*/hgdemandimport/demandimportpy2.py", line *, in __getattr__ (glob)
       self._load()
     File "*/hgdemandimport/demandimportpy2.py", line *, in _load (glob)
-      mod = _hgextimport(_import, head, globals, locals, None, level)
+      mod = _hgextimport(_origimport, head, globals, locals, None, level)
     File "*/hgdemandimport/demandimportpy2.py", line *, in _hgextimport (glob)
       return importfunc(name, globals, *args, **kwargs)
   ImportError: No module named bdiff