diff --git a/src/plugins/duieditor/duieditor.cpp b/src/plugins/duieditor/duieditor.cpp
index f4b09dcee8c9cc3e1e322f78fff793a3b3fe99ee..f6110625ddbe216b8270f93f4e0d2f77a5fa75be 100644
--- a/src/plugins/duieditor/duieditor.cpp
+++ b/src/plugins/duieditor/duieditor.cpp
@@ -85,15 +85,15 @@ protected:
     using Visitor::visit;
     using Visitor::endVisit;
 
-    virtual bool visit(AST::UiPublicMember *node)
+    void addWords(AST::UiQualifiedId *id)
     {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
+        for (; id; id = id->next) {
+            if (id->name)
+                _words.insert(id->name->asString());
+        }
     }
 
-    virtual bool visit(AST::UiObjectDefinition *node)
+    virtual bool visit(AST::UiPublicMember *node)
     {
         if (node->name)
             _words.insert(node->name->asString());
@@ -109,14 +109,6 @@ protected:
         return true;
     }
 
-    virtual bool visit(AST::UiObjectBinding *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
-    }
-
     virtual bool visit(AST::IdentifierExpression *node)
     {
         if (node->name)
@@ -302,8 +294,8 @@ protected:
         init(&decl, node);
 
         decl.text.fill(QLatin1Char(' '), _depth);
-        if (node->name)
-            decl.text.append(node->name->asString());
+        if (node->qualifiedObjectNameId)
+            decl.text.append(asString(node->qualifiedObjectNameId));
         else
             decl.text.append(QLatin1Char('?'));
 
@@ -329,8 +321,8 @@ protected:
         decl.text.append(asString(node->qualifiedId));
         decl.text.append(QLatin1String(": "));
 
-        if (node->name)
-            decl.text.append(node->name->asString());
+        if (node->qualifiedObjectNameId)
+            decl.text.append(asString(node->qualifiedObjectNameId));
         else
             decl.text.append(QLatin1Char('?'));