diff --git a/hggit/git_handler.py b/hggit/git_handler.py
index 7b89630a2a48d963ba3ba8be006e60880325e326_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..674f799afb040ca48381f1e101e264fb2ac12382_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -1299,7 +1299,11 @@
                         bms[head + suffix] = hgsha
 
             if heads:
-                bms.write()
+                wlock = self.repo.wlock()
+                try:
+                    bms.write()
+                finally:
+                    wlock.release()
 
         except AttributeError:
             self.ui.warn(_('creating bookmarks failed, do you have'