diff --git a/hggit/git_handler.py b/hggit/git_handler.py
index c4a2ef796c1961d88487f3413e5b25d577e65525_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..eb01d99111b6479abbf1a259bb323ed9ec851a8f_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -464,6 +464,11 @@
             self.export_hg_commit(ctx.node(), exporter)
         self.ui.progress('exporting', None, total=total)
 
+    def set_commiter_from_author(self, commit):
+        commit.committer = commit.author
+        commit.commit_time = commit.author_time
+        commit.commit_timezone = commit.author_timezone
+
     # convert this commit into git objects
     # go through the manifest, convert all blobs/trees we don't have
     # write the commit object (with metadata info)
@@ -489,8 +494,9 @@
         commit.author_timezone = -timezone
 
         if 'committer' in extra:
-            # fixup timezone
-            (name, timestamp, timezone) = extra['committer'].rsplit(' ', 2)
-            commit.committer = name
-            commit.commit_time = timestamp
+            try:
+                # fixup timezone
+                (name, timestamp, timezone) = extra['committer'].rsplit(' ', 2)
+                commit.committer = name
+                commit.commit_time = timestamp
 
@@ -496,12 +502,14 @@
 
-            # work around a timezone format change
-            if int(timezone) % 60 != 0:  # pragma: no cover
-                timezone = parse_timezone(timezone)
-                # Newer versions of Dulwich return a tuple here
-                if isinstance(timezone, tuple):
-                    timezone, neg_utc = timezone
-                    commit._commit_timezone_neg_utc = neg_utc
-            else:
-                timezone = -int(timezone)
-            commit.commit_timezone = timezone
+                # work around a timezone format change
+                if int(timezone) % 60 != 0:  # pragma: no cover
+                    timezone = parse_timezone(timezone)
+                    # Newer versions of Dulwich return a tuple here
+                    if isinstance(timezone, tuple):
+                        timezone, neg_utc = timezone
+                        commit._commit_timezone_neg_utc = neg_utc
+                else:
+                    timezone = -int(timezone)
+                commit.commit_timezone = timezone
+            except: # extra is essentially user-supplied, we must be careful
+                self.set_commiter_from_author(commit)
         else:
@@ -507,7 +515,5 @@
         else:
-            commit.committer = commit.author
-            commit.commit_time = commit.author_time
-            commit.commit_timezone = commit.author_timezone
+            self.set_commiter_from_author(commit)
 
         commit.parents = []
         for parent in self.get_git_parents(ctx):