diff --git a/mercurial/repoview.py b/mercurial/repoview.py
--- a/mercurial/repoview.py
+++ b/mercurial/repoview.py
@@ -37,6 +37,9 @@
     pinned.update([par.rev() for par in repo[None].parents()])
     pinned.update([cl.rev(bm) for bm in repo._bookmarks.values()])
 
+    # add the visibility exceptions
+    pinned.update(repo.getvisibilityexceptions())
+
     tags = {}
     tagsmod.readlocaltags(repo.ui, repo, tags, {})
     if tags: