diff --git a/hggit/git_handler.py b/hggit/git_handler.py
index 6ebbe6c8b794e2a75b06c7d037d0280942f68703_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..1ab57b19cb3aa0792b96be7f26307d0b591ed609_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -937,8 +937,14 @@
         for tag, sha in self.repo.tags().iteritems():
             if self.repo.tagtype(tag) in ('global', 'git'):
                 tag = tag.replace(' ', '_')
-                self.git.refs['refs/tags/' + tag] = self.map_git_get(hex(sha))
-                self.tags[tag] = hex(sha)
+                target = self.map_git_get(hex(sha))
+                if target is not None:
+                    self.git.refs['refs/tags/' + tag] = target
+                    self.tags[tag] = hex(sha)
+                else:
+                    self.repo.ui.warn(
+                        'Skipping export of tag %s because it '
+                        'has no matching git revision.' % tag)
 
     def _filter_for_bookmarks(self, bms):
         if not self.branch_bookmark_suffix: