diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index 03409b52c903c1f037b22837dfe74c4a4759332b..fcbce895bf57ec096c1cd8733f2b5bbd4a611760 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -115,6 +115,14 @@ protected:
 
     }
 
+    void reportResult(unsigned tokenIndex, const QList<Symbol *> &candidates)
+    {
+        const bool isStrongResult = checkCandidates(candidates);
+
+        if (isStrongResult)
+            reportResult(tokenIndex);
+    }
+
     void reportResult(unsigned tokenIndex)
     {
         const Token &tk = tokenAt(tokenIndex);
@@ -130,7 +138,7 @@ protected:
 
         if (_future)
             _future->reportResult(Utils::FileSearchResult(QDir::toNativeSeparators(_doc->fileName()),
-                                                                line, lineText, col, len));
+                                                          line, lineText, col, len));
 
         _references.append(tokenIndex);
     }
@@ -197,8 +205,7 @@ protected:
             if (identifier(simple->identifier_token) == _id) {
                 LookupContext context = currentContext(ast);
                 const QList<Symbol *> candidates = context.resolve(simple->name);
-                if (checkCandidates(candidates))
-                    reportResult(simple->identifier_token);
+                reportResult(simple->identifier_token, candidates);
             }
         }
         accept(ast->expression);
@@ -262,8 +269,7 @@ protected:
             candidates.append(lastVisibleSymbol);
         }
 
-        if (checkCandidates(candidates))
-            reportResult(endToken);
+        reportResult(endToken, candidates);
     }
 
     virtual bool visit(QualifiedNameAST *ast)
@@ -331,8 +337,7 @@ protected:
         if (id == _id) {
             LookupContext context = currentContext(ast);
             const QList<Symbol *> candidates = context.resolve(ast->name);
-            if (checkCandidates(candidates))
-                reportResult(ast->identifier_token);
+            reportResult(ast->identifier_token, candidates);
         }
 
         return false;
@@ -344,8 +349,7 @@ protected:
         if (id == _id) {
             LookupContext context = currentContext(ast);
             const QList<Symbol *> candidates = context.resolve(ast->name);
-            if (checkCandidates(candidates))
-                reportResult(ast->identifier_token);
+            reportResult(ast->identifier_token, candidates);
         }
 
         return false;
@@ -357,8 +361,7 @@ protected:
         if (id == _id) {
             LookupContext context = currentContext(ast);
             const QList<Symbol *> candidates = context.resolve(ast->name);
-            if (checkCandidates(candidates))
-                reportResult(ast->identifier_token);
+            reportResult(ast->identifier_token, candidates);
         }
 
         return false;