diff --git a/mercurial/revset.py b/mercurial/revset.py
index 832feae7c9869c573589e7516e82c386034993e7_bWVyY3VyaWFsL3JldnNldC5weQ==..5c9ec1cc671aaf8a3cc49b9a51fa939ed6221e57_bWVyY3VyaWFsL3JldnNldC5weQ== 100644
--- a/mercurial/revset.py
+++ b/mercurial/revset.py
@@ -696,7 +696,7 @@
             bmrev = repo._bookmarks.get(pattern, None)
             if not bmrev:
                 raise error.RepoLookupError(_("bookmark '%s' does not exist")
-                                            % bm)
+                                            % pattern)
             bms.add(repo[bmrev].rev())
         else:
             matchrevs = set()
diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t
index 832feae7c9869c573589e7516e82c386034993e7_dGVzdHMvdGVzdC1ib29rbWFya3MudA==..5c9ec1cc671aaf8a3cc49b9a51fa939ed6221e57_dGVzdHMvdGVzdC1ib29rbWFya3MudA== 100644
--- a/tests/test-bookmarks.t
+++ b/tests/test-bookmarks.t
@@ -135,6 +135,9 @@
   $ hg log -r 'bookmark(unknown)'
   abort: bookmark 'unknown' does not exist!
   [255]
+  $ hg log -r 'bookmark("literal:unknown")'
+  abort: bookmark 'unknown' does not exist!
+  [255]
   $ hg log -r 'bookmark("re:unknown")'
   abort: no bookmarks exist that match 'unknown'!
   [255]