diff -r 0688010ee38f -r d092f4b68fb6 mercurial/exchange.py --- a/mercurial/exchange.py Fri Aug 15 18:39:39 2014 -0700 +++ b/mercurial/exchange.py Fri Aug 15 18:40:57 2014 -0700 @@ -633,8 +633,9 @@ def _pushbookmark(pushop): """Update bookmark position on remote""" - if pushop.ret == 0: + if pushop.ret == 0 or 'bookmarks' in pushop.stepsdone: return + pushop.stepsdone.add('bookmarks') ui = pushop.ui remote = pushop.remote for b, old, new in pushop.outbookmarks: