diff --git a/lib/Frontend/VerifyDiagnosticConsumer.cpp b/lib/Frontend/VerifyDiagnosticConsumer.cpp
index 1676a44c46fe29c6969c94a5c3bb0cf9baee1ded..96c990c54f25a04b52df7e6512c0dc07e94d6bfb 100644
--- a/lib/Frontend/VerifyDiagnosticConsumer.cpp
+++ b/lib/Frontend/VerifyDiagnosticConsumer.cpp
@@ -443,8 +443,10 @@ static unsigned CheckLists(DiagnosticsEngine &Diags, SourceManager &SourceMgr,
           break;
       }
       if (II == IE) {
-        if (D.Count == D.OneOrMoreCount && FoundOnce) {
-          // We are only interested in at least one match and we found one.
+        if (D.Count == D.OneOrMoreCount) {
+          if (!FoundOnce)
+            LeftOnly.push_back(*I);
+          // We are only interested in at least one match, so exit the loop.
           break;
         }
         // Not found.