diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index f31e42fbc923237504edc01572d6a8f742c6626c..7c9eedebd56f43d1ec86b2943c4f206492383e5b 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -765,10 +765,10 @@ ResolveExpression::resolveBaseExpression(const QList<Result> &baseResults, int a
             }
         }
 
-        if (ty->isClassType() || ty->isNamedType())
+        if (ty->isNamedType())
             results.append(Result(ty, lastVisibleSymbol));
 
-        if (Function *fun = ty->asFunctionType()) {
+        else if (Function *fun = ty->asFunctionType()) {
             Scope *funScope = fun->scope();
 
             if (funScope && (funScope->isBlockScope() || funScope->isNamespaceScope())) {