diff --git a/src/plugins/qmljseditor/qmlcodecompletion.cpp b/src/plugins/qmljseditor/qmlcodecompletion.cpp
index 3eecc54431dceb7c8f0c4023f901fcdba25e1745..4123ab0f0426526efbe6ea11b81195f2943418a3 100644
--- a/src/plugins/qmljseditor/qmlcodecompletion.cpp
+++ b/src/plugins/qmljseditor/qmlcodecompletion.cpp
@@ -243,12 +243,18 @@ int QmlCodeCompletion::startCompletion(TextEditor::ITextEditable *editor)
             return -1;
     }
 
+    const QFileInfo currentFileInfo(qmlDocument->fileName());
+    const QString currentFilePath = currentFileInfo.absolutePath();
+
     const QIcon typeIcon = iconForColor(Qt::yellow);
 
     foreach (QmlJS::Document::Ptr doc, snapshot) {
         const QFileInfo fileInfo(doc->fileName());
+
         if (fileInfo.suffix() != QLatin1String("qml"))
             continue;
+        else if (fileInfo.absolutePath() != currentFilePath) // ### FIXME includ `imported' components
+            continue;
 
         const QString typeName = fileInfo.baseName();
         if (typeName.isEmpty())