diff -r 931a72e00efa -r 97b69883e929 mercurial/commands.py --- a/mercurial/commands.py Fri Feb 18 20:25:25 2011 +0100 +++ b/mercurial/commands.py Sun Feb 20 00:57:55 2011 +0100 @@ -521,7 +521,8 @@ marks[mark] = repo.lookup(rev) else: marks[mark] = repo.changectx('.').node() - bookmarks.setcurrent(repo, mark) + if repo.changectx('.').node() == marks[mark]: + bookmarks.setcurrent(repo, mark) bookmarks.write(repo) return