diff --git a/hgext/bookmarks.py b/hgext/bookmarks.py
index ee01d9d84115b9085ec1cc9519d3b3a52228cac3_aGdleHQvYm9va21hcmtzLnB5..999f616b09dc854f63ea1d77c27c8059e1030641_aGdleHQvYm9va21hcmtzLnB5 100644
--- a/hgext/bookmarks.py
+++ b/hgext/bookmarks.py
@@ -134,11 +134,6 @@
         return
 
     class bookmark_repo(repo.__class__):
-        def lookup(self, key):
-            if key in self._bookmarks:
-                key = self._bookmarks[key]
-            return super(bookmark_repo, self).lookup(key)
-
         def pull(self, remote, heads=None, force=False):
             result = super(bookmark_repo, self).pull(remote, heads, force)
 
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
index ee01d9d84115b9085ec1cc9519d3b3a52228cac3_bWVyY3VyaWFsL2xvY2FscmVwby5weQ==..999f616b09dc854f63ea1d77c27c8059e1030641_bWVyY3VyaWFsL2xvY2FscmVwby5weQ== 100644
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -520,6 +520,8 @@
         n = self.changelog._match(key)
         if n:
             return n
+        if key in self._bookmarks:
+            return self._bookmarks[key]
         if key in self.tags():
             return self.tags()[key]
         if key in self.branchtags():