diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -105,7 +105,7 @@
                 remotebranchmap,
                 repo[rtiprev].node(),
                 rtiprev,
-                closednodes=closed,
+                closednodes=set(closed),
             )
 
             # Try to stick it as low as possible
@@ -177,7 +177,7 @@
         if closednodes is None:
             self._closednodes = set()
         else:
-            self._closednodes = closednodes
+            self._closednodes = set(closednodes)
         self._entries = dict(entries)
         # whether closed nodes are verified or not
         self._closedverified = False