diff --git a/hgext/infinitepush/bundleparts.py b/hgext/infinitepush/bundleparts.py
--- a/hgext/infinitepush/bundleparts.py
+++ b/hgext/infinitepush/bundleparts.py
@@ -46,8 +46,9 @@
         params['bookmark'] = bookmark
         # 'prevbooknode' is necessary for pushkey reply part
         params['bookprevnode'] = ''
-        if bookmark in repo:
-            params['bookprevnode'] = repo[bookmark].hex()
+        bookmarks = repo._bookmarks
+        if bookmark in bookmarks:
+            params['bookprevnode'] = bookmarks.ctx(bookmark).hex()
 
     # Do not send pushback bundle2 part with bookmarks if remotenames extension
     # is enabled. It will be handled manually in `_push()`