diff --git a/src/main/scala/com/googlesource/gerrit/plugins/analytics/Contributors.scala b/src/main/scala/com/googlesource/gerrit/plugins/analytics/Contributors.scala
index 4711ee3..23ff03c 100644
--- a/src/main/scala/com/googlesource/gerrit/plugins/analytics/Contributors.scala
+++ b/src/main/scala/com/googlesource/gerrit/plugins/analytics/Contributors.scala
@@ -105,7 +105,7 @@
   private var granularity: Option[AggregationStrategy] = None
 
   @ArgOption(name = "--granularity", aliases = Array("--aggregate", "-g"), metaVar = "QUERY",
-    usage = "(excluded) end timestamp. Must be in the format 2006-01-02[ 15:04:05[.890][ -0700]]")
+    usage = "can be one of EMAIL, EMAIL_HOUR, EMAIL_DAY, EMAIL_MONTH, EMAIL_YEAR, defaulting to EMAIL")
   def setGranularity(value: String) {
     try {
       granularity = Some(AggregationStrategy.apply(value))
diff --git a/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatistics.scala b/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatistics.scala
index baa60ed..efff4cb 100644
--- a/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatistics.scala
+++ b/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatistics.scala
@@ -25,6 +25,10 @@
 
 case class CommitsStatistics(numFiles: Int, addedLines: Int, deletedLines: Int)
 
+object CommitsStatistics {
+  val Empty = CommitsStatistics(0, 0, 0)
+}
+
 class Statistics(repo: Repository) {
 
   def find(objectIds: Seq[ObjectId]): CommitsStatistics =
@@ -63,7 +67,7 @@
       val lines = (for {
         diff <- diffs
         edit <- df.toFileHeader(diff).toEditList
-      } yield Lines(edit.getEndA - edit.getBeginA, edit.getEndB - edit.getBeginB)).reduce(_ + _)
+      } yield Lines(edit.getEndA - edit.getBeginA, edit.getEndB - edit.getBeginB)).fold(Lines(0, 0))(_ + _)
 
       CommitsStatistics(diffs.size, lines.added, lines.deleted)
     }
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
index d37a4a1..315369f 100644
--- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
+++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
@@ -82,4 +82,11 @@
       s.deletedLines should be(1)
     }
   }
+
+  it should "not return any stats if the commit does not include any file" in new TestEnvironment {
+    val emptyCommit = add(testRepo,
+      List.empty[String].asJava,
+      List.empty[String].asJava, "Empty commit")
+    stats.find(emptyCommit) shouldBe CommitsStatistics.Empty
+  }
 }
