diff --git a/hgext/shelve.py b/hgext/shelve.py
--- a/hgext/shelve.py
+++ b/hgext/shelve.py
@@ -446,11 +446,8 @@
 
 def _finishshelve(repo):
     if phases.supportinternal(repo):
-        backupname = 'dirstate.shelve'
         tr = repo.currenttransaction()
-        repo.dirstate.savebackup(tr, backupname)
         tr.close()
-        repo.dirstate.restorebackup(None, backupname)
     else:
         _aborttransaction(repo)