diff --git a/src/libs/qmljs/qmljsscopechain.cpp b/src/libs/qmljs/qmljsscopechain.cpp
index 946304293f8eb0dd4872d62a8d080d9861827d28..a1d842e19ff81dd7159d348268a138d41f75015d 100644
--- a/src/libs/qmljs/qmljsscopechain.cpp
+++ b/src/libs/qmljs/qmljsscopechain.cpp
@@ -259,7 +259,7 @@ void ScopeChain::update() const
         m_all += m_cppContextProperties;
 
     // the root scope in js files doesn't see instantiating components
-    if (m_jsScopes.count() != 1 || !m_qmlScopeObjects.isEmpty()) {
+    if (m_document->language() != Document::JavaScriptLanguage || m_jsScopes.count() != 1) {
         if (m_qmlComponentScope) {
             foreach (const QmlComponentChain *parent, m_qmlComponentScope->instantiatingComponents())
                 collectScopes(parent, &m_all);