diff --git a/hgdemandimport/demandimportpy3.py b/hgdemandimport/demandimportpy3.py
index 9d7d53771e5fa5c17bea578a89258350df6294ac_aGdkZW1hbmRpbXBvcnQvZGVtYW5kaW1wb3J0cHkzLnB5..a6e12d477595b96d6a95f1e32f2dd4762d136b17_aGdkZW1hbmRpbXBvcnQvZGVtYW5kaW1wb3J0cHkzLnB5 100644
--- a/hgdemandimport/demandimportpy3.py
+++ b/hgdemandimport/demandimportpy3.py
@@ -97,5 +97,5 @@
     def __setattr__(self, name, value):
         return setattr(object.__getattribute__(self, "_finder"), name, value)
 
-    def find_spec(self, *args, **kwargs):
+    def find_spec(self, fullname, path, target=None):
         finder = object.__getattribute__(self, "_finder")
@@ -101,5 +101,14 @@
         finder = object.__getattribute__(self, "_finder")
-        spec = finder.find_spec(*args, **kwargs)
+        try:
+            find_spec = finder.find_spec
+        except AttributeError:
+            loader = finder.find_module(fullname, path)
+            if loader is None:
+                spec = None
+            else:
+                spec = importlib.util.spec_from_loader(fullname, loader)
+        else:
+            spec = find_spec(fullname, path, target)
 
         # Lazy loader requires exec_module().
         if (