diff --git a/tools/profiling/microbenchmarks/bm_diff/bm_diff.py b/tools/profiling/microbenchmarks/bm_diff/bm_diff.py
index 881e157ccd5fc60709896f67703b6b72dc33f484..b8e803749a2f5f625a1dfd86e581c927400c4478 100755
--- a/tools/profiling/microbenchmarks/bm_diff/bm_diff.py
+++ b/tools/profiling/microbenchmarks/bm_diff/bm_diff.py
@@ -185,9 +185,14 @@ def diff(bms, loops, track, old, new):
   for name in sorted(benchmarks.keys()):
     if benchmarks[name].skip(): continue
     rows.append([name] + benchmarks[name].row(fields))
-  note = 'Corrupt JSON data (indicates timeout or crash) = %s' % str(
-    badjson_files)
-  note += '\n\nMissing files (new benchmark) = %s' % str(nonexistant_files)
+  note = None
+  if len(badjson_files):
+    note = 'Corrupt JSON data (indicates timeout or crash) = %s' % str(badjson_files)
+  if len(nonexistant_files):
+    if note:
+      note += '\n\nMissing files (indicates new benchmark) = %s' % str(nonexistant_files)
+    else:
+      note = '\n\nMissing files (indicates new benchmark) = %s' % str(nonexistant_files)
   if rows:
     return tabulate.tabulate(rows, headers=headers, floatfmt='+.2f'), note
   else:
diff --git a/tools/profiling/microbenchmarks/bm_diff/bm_main.py b/tools/profiling/microbenchmarks/bm_diff/bm_main.py
index 0136c6aa57aa14e846bb18f80e1a15c3fd37dfb8..8a54f198ab236c1fcd51e78ba7dca74b03b275ff 100755
--- a/tools/profiling/microbenchmarks/bm_diff/bm_main.py
+++ b/tools/profiling/microbenchmarks/bm_diff/bm_main.py
@@ -126,8 +126,10 @@ def main(args):
     text = 'Performance differences noted:\n' + diff
   else:
     text = 'No significant performance differences'
-  print('%s\n%s' % (note, text))
-  comment_on_pr.comment_on_pr('```\n%s\n\n%s\n```' % (note, text))
+  if note:
+    text = note + '\n\n' + text
+  print('%s' % text)
+  comment_on_pr.comment_on_pr('```\n%s\n```' % text)
 
 
 if __name__ == '__main__':