diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index 16d3a69e784bd2289a3b2535a24849fec88852c9..e8dd8647465a789307e3480a9227ff37120dd756 100644
--- a/src/libs/cplusplus/CppDocument.cpp
+++ b/src/libs/cplusplus/CppDocument.cpp
@@ -807,11 +807,13 @@ Class *Snapshot::findMatchingClassDeclaration(Symbol *declaration) const
         LookupContext context(doc, *this);
 
         ClassOrNamespace *type = context.lookupType(declaration);
-        if (!type || type->symbols().count() != 1)
+        if (!type)
             continue;
 
-        if (Class *c = type->symbols().first()->asClass())
-            return c;
+        foreach (Symbol *s, type->symbols()) {
+            if (Class *c = s->asClass())
+                return c;
+        }
     }
 
     return 0;