diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp
index 74f678b0e14d26f467c9f847e93a32865ebb8ef3..9723dde51612d630941cce46e42828ab384512f1 100644
--- a/src/libs/cplusplus/FindUsages.cpp
+++ b/src/libs/cplusplus/FindUsages.cpp
@@ -209,10 +209,14 @@ bool FindUsages::checkCandidates(const QList<LookupItem> &candidates) const
         const LookupItem &r = candidates.at(i);
 
         if (Symbol *s = r.declaration()) {
+            if (_declSymbol->isTypenameArgument()) {
+                if (s != _declSymbol)
+                    return false;
+            }
+
             if (_declSymbol->scope() && (_declSymbol->scope()->isFunction() || _declSymbol->scope()->isBlock())) {
                 if (s->scope() != _declSymbol->scope())
                     return false;
-
             }
 
             if (compareFullyQualifiedName(LookupContext::fullyQualifiedName(s), _declSymbolFullyQualifiedName))