diff --git a/mercurial/repair.py b/mercurial/repair.py
index f044295cdb7afa3078eb542a720500a5621e46e8_bWVyY3VyaWFsL3JlcGFpci5weQ==..4c6e4a4486a0b00bdc6737f624a1e30c440b7f36_bWVyY3VyaWFsL3JlcGFpci5weQ== 100644
--- a/mercurial/repair.py
+++ b/mercurial/repair.py
@@ -216,9 +216,8 @@
         for m in updatebm:
             bm[m] = repo[newbmtarget].node()
 
-        with repo.lock():
-            with repo.transaction('repair') as tr:
-                bm.recordchange(tr)
+        with repo.transaction('repair') as tr:
+            bm.recordchange(tr)
 
         # remove undo files
         for undovfs, undofile in repo.undofiles():