diff --git a/hggit/git_handler.py b/hggit/git_handler.py
index 256a232e689db30007618bba1b3cbd74e133ee44_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..2e77e332f3b36723eadbaa5407ff2e98b5505f53_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -1084,7 +1084,7 @@
         return filteredrefs
 
     def update_references(self):
-        heads = self.local_heads()
+        exportable = self.get_exportable()
 
         # Create a local Git branch name for each
         # Mercurial bookmark.
@@ -1088,10 +1088,11 @@
 
         # Create a local Git branch name for each
         # Mercurial bookmark.
-        for key, (git_ref, hg_sha) in heads.iteritems():
-            git_sha = self.map_git_get(hg_sha)
-            if git_sha:
-                self.git.refs[git_ref] = git_sha
+        for hg_sha, refs in exportable.iteritems():
+            for git_ref in refs.heads:
+                git_sha = self.map_git_get(hg_sha)
+                if git_sha:
+                    self.git.refs[git_ref] = git_sha
 
     def export_hg_tags(self):
         for tag, sha in self.repo.tags().iteritems():