diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
index 0e6f622f31cad54005fbe08838fc289e65f8310d_bWVyY3VyaWFsL2Jvb2ttYXJrcy5weQ==..3fc7154396d23426a355e9403890837118d045f6_bWVyY3VyaWFsL2Jvb2ttYXJrcy5weQ== 100644
--- a/mercurial/bookmarks.py
+++ b/mercurial/bookmarks.py
@@ -73,7 +73,9 @@
 
     try:
         bms = repo.opener('bookmarks').read()
-    except IOError:
+    except IOError, inst:
+        if inst.errno != errno.ENOENT:
+            raise
         bms = ''
     repo.opener('undo.bookmarks', 'w').write(bms)