diff --git a/mercurial/__init__.py b/mercurial/__init__.py
--- a/mercurial/__init__.py
+++ b/mercurial/__init__.py
@@ -34,6 +34,9 @@ if sys.version_info[0] >= 3:
             # zstd is already dual-version clean, don't try and mangle it
             if fullname.startswith('mercurial.zstd'):
                 return None
+            # pywatchman is already dual-version clean, don't try and mangle it
+            if fullname.startswith('hgext.fsmonitor.pywatchman'):
+                return None
 
             # Try to find the module using other registered finders.
             spec = None