diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index b47ebf403939d050461b010f3448a7384854f4e4..198ff12ccad1a29d3519d489455b1b02c24c0176 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1462,7 +1462,15 @@ bool CppCodeCompletion::completeQtMethod(const QList<LookupItem> &results,
         if (classObjects.isEmpty())
             continue;
 
-        Class *klass = classObjects.first()->asClass();
+        Class *klass = 0;
+        foreach (Symbol *c, classObjects) {
+            klass = c->asClass();
+            if (klass != 0)
+                break;
+        }
+
+        if (! klass)
+            continue;
 
         QList<Scope *> todo;
         const QList<Scope *> visibleScopes = context.visibleScopes(p);