diff --git a/hggit/git_handler.py b/hggit/git_handler.py
index a128b9a53b5a0fc0b3275d4865c50801bd529f14_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..d0ce6eaebe7b5279d16c1aab7f9bd4aefb471681_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -459,6 +459,7 @@
         exporter = hg2git.IncrementalChangesetExporter(
             self.repo, pctx, self.git.object_store, gitcommit)
 
+        mapsavefreq = self.ui.configint('hggit', 'mapsavefrequency', 0)
         for i, ctx in enumerate(export):
             self.ui.progress('exporting', i, total=total)
             self.export_hg_commit(ctx.node(), exporter)
@@ -462,6 +463,9 @@
         for i, ctx in enumerate(export):
             self.ui.progress('exporting', i, total=total)
             self.export_hg_commit(ctx.node(), exporter)
+            if mapsavefreq and i % mapsavefreq == 0:
+                self.ui.debug(_("saving mapfile\n"))
+                self.save_map(self.map_file)
         self.ui.progress('exporting', None, total=total)
 
     def set_commiter_from_author(self, commit):