diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 0927486d44fd547a165326588a6f5f2d92a48a6a..c1f1e7aab30f9d7e7528d91179c2ad2934783520 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -299,7 +299,7 @@ protected:
 
     virtual bool visit(UsingDirectiveAST *ast)
     {
-        if (ast->name && ast->name->name && _globalNamespaceBinding) {
+        if (ast->symbol && _globalNamespaceBinding) {
             const Location loc = Location(ast->symbol);
 
             NamespaceBinding *binding = _globalNamespaceBinding.data();
@@ -307,7 +307,7 @@ protected:
             if (Scope *enclosingNamespaceScope = ast->symbol->enclosingNamespaceScope())
                 binding = NamespaceBinding::find(enclosingNamespaceScope->owner()->asNamespace(), binding);
 
-            if (! binding || ! binding->resolveNamespace(loc, ast->name->name)) {
+            if (! binding || ! binding->resolveNamespace(loc, ast->symbol->name())) {
                 translationUnit()->warning(ast->name->firstToken(),
                                            "expected a namespace after `=' token");
             }