diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp
index 5490fd67bc89ecc0e6f7877f8a6a4d8378182dcb..e99c3bf7404320ea3259647b2b51a1504dafc044 100644
--- a/src/libs/qmljs/qmljslink.cpp
+++ b/src/libs/qmljs/qmljslink.cpp
@@ -73,9 +73,13 @@ void Link::scopeChainAt(Document::Ptr doc, const QList<Node *> &astPath)
         scopeChain.jsScopes += bind->rootObjectValue();
     }
 
-    ScopeBuilder scopeBuilder(doc, _context);
-    foreach (Node *node, astPath)
-        scopeBuilder.push(node);
+    if (astPath.isEmpty()) {
+        scopeChain.update();
+    } else {
+        ScopeBuilder scopeBuilder(doc, _context);
+        foreach (Node *node, astPath)
+            scopeBuilder.push(node);
+    }
 }
 
 void Link::makeComponentChain(