diff --git a/hggit/gitdirstate.py b/hggit/gitdirstate.py
index da62ef0569bb7053352ac3f37929dac34c79ff72_aGdnaXQvZ2l0ZGlyc3RhdGUucHk=..e3dab807e38cc489f541c4a62997bb9b4f72c4a8_aGdnaXQvZ2l0ZGlyc3RhdGUucHk= 100644
--- a/hggit/gitdirstate.py
+++ b/hggit/gitdirstate.py
@@ -6,7 +6,6 @@
 from mercurial import (
     dirstate,
     match as matchmod,
-    osutil,
     scmutil,
     util,
 )
@@ -156,6 +155,7 @@
         matchalways = match.always()
         matchtdir = match.traversedir
         dmap = self._map
+        # osutil moved in hg 4.3, but util re-exports listdir
         try:
             listdir = util.listdir
         except AttributeError:
@@ -159,6 +159,7 @@
         try:
             listdir = util.listdir
         except AttributeError:
+            from mercurial import osutil
             listdir = osutil.listdir
         lstat = os.lstat
         dirkind = stat.S_IFDIR