diff --git a/reviewboard/diffviewer/errors.py b/reviewboard/diffviewer/errors.py
index 4cb3f31d794c05b508a76d6701dbcb01bb7abc3a..1d2ded4a846d5ca1847e1b16fe394d7a447c5d8b 100644
--- a/reviewboard/diffviewer/errors.py
+++ b/reviewboard/diffviewer/errors.py
@@ -22,6 +22,6 @@ class EmptyDiffError(ValueError):
 
 
 class DiffParserError(Exception):
-    def __init__(self, msg, linenum):
+    def __init__(self, msg, linenum=None):
         Exception.__init__(self, msg)
         self.linenum = linenum
diff --git a/reviewboard/diffviewer/models.py b/reviewboard/diffviewer/models.py
index f8acd4f6f4d18852711ad6a5b48d8e842e6357a1..02e8826e0243ece42c0b11e2645ae8fd1c0dbc99 100644
--- a/reviewboard/diffviewer/models.py
+++ b/reviewboard/diffviewer/models.py
@@ -9,6 +9,7 @@ from django.utils.encoding import python_2_unicode_compatible
 from django.utils.translation import ugettext_lazy as _
 from djblets.db.fields import Base64Field, JSONField
 
+from reviewboard.diffviewer.errors import DiffParserError
 from reviewboard.diffviewer.managers import (FileDiffDataManager,
                                              FileDiffManager,
                                              DiffSetManager)
@@ -53,12 +54,16 @@ class FileDiffData(models.Model):
         logging.debug('Recalculating insert/delete line counts on '
                       'FileDiffData %s' % self.pk)
 
-        files = tool.get_parser(self.binary).parse()
-
-        if len(files) != 1:
+        try:
+            files = tool.get_parser(self.binary).parse()
+            if len(files) != 1:
+                raise DiffParserError(
+                    'Got wrong number of files (%d)' % len(files))
+        except DiffParserError as e:
             logging.error('Failed to correctly parse stored diff data in '
                           'FileDiffData ID %s when trying to get '
-                          'insert/delete line counts' % self.pk)
+                          'insert/delete line counts: %s',
+                          self.pk, e)
         else:
             file_info = files[0]
             self.insert_count = file_info.insert_count
