diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index cab6ed81842439955da97933d2734fbb61b137db..14764970b13ac0da8354ec9a17a623ec450543c0 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1276,6 +1276,9 @@ void CppCodeCompletion::completeNamespace(const QList<Symbol *> &candidates,
     }
 
     foreach (Scope *scope, todo) {
+        if (! scope->isNamespaceScope())
+            continue;
+
         addCompletionItem(scope->owner());
 
         for (unsigned i = 0; i < scope->symbolCount(); ++i) {
@@ -1297,6 +1300,9 @@ void CppCodeCompletion::completeClass(const QList<Symbol *> &candidates,
     context.expand(klass->members(), context.visibleScopes(), &todo);
 
     foreach (Scope *scope, todo) {
+        if (! scope->isClassScope())
+            continue;
+
         addCompletionItem(scope->owner());
 
         for (unsigned i = 0; i < scope->symbolCount(); ++i) {