diff --git a/mercurial/exchange.py b/mercurial/exchange.py
index 808926c76cacbc6795cdcf9398e6852f9eab1347_bWVyY3VyaWFsL2V4Y2hhbmdlLnB5..c894fdff56d13d4ca299606294f01cabe4cb1f83_bWVyY3VyaWFsL2V4Y2hhbmdlLnB5 100644
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -623,10 +623,9 @@
     if pushop.revs:
         revnums = map(repo.changelog.rev, pushop.revs)
         ancestors = repo.changelog.ancestors(revnums, inclusive=True)
-    (addsrc, adddst, advsrc, advdst, diverge, differ, invalid
-     ) = bookmarks.compare(repo, repo._bookmarks, remote.listkeys('bookmarks'),
-                           srchex=hex)
-
+    remotebookmark = remote.listkeys('bookmarks')
+    comp = bookmarks.compare(repo, repo._bookmarks, remotebookmark, srchex=hex)
+    (addsrc, adddst, advsrc, advdst, diverge, differ, invalid) = comp
     for b, scid, dcid in advsrc:
         if ancestors and repo[scid].rev() not in ancestors:
             continue