diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
index fa822d067fb1701ff265f8672fdeb29ad5a128e4..350030eccb58763df3a5b42b7f035a1ac799cd36 100644
--- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
+++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
@@ -511,20 +511,25 @@ void TargetSetupPage::setupImports()
     if (!m_importSearch || m_proFilePath.isEmpty())
         return;
 
-    QString sourceDir = QFileInfo(m_proFilePath).absolutePath();
-    import(Utils::FileName::fromString(sourceDir), true);
+    QFileInfo pfi(m_proFilePath);
+    const QString prefix = pfi.baseName();
+    QStringList toImport;
+    toImport << pfi.absolutePath();
 
     QList<ProjectExplorer::Kit *> kitList = ProjectExplorer::KitManager::instance()->kits();
     foreach (ProjectExplorer::Kit *k, kitList) {
         QFileInfo fi(Qt4Project::shadowBuildDirectory(m_proFilePath, k, QString()));
         const QString baseDir = fi.absolutePath();
-        const QString prefix = fi.baseName();
 
         foreach (const QString &dir, QDir(baseDir).entryList()) {
-            if (dir.startsWith(prefix))
-                import(Utils::FileName::fromString(baseDir + QLatin1Char('/') + dir), true);
+            const QString path = baseDir + QLatin1Char('/') + dir;
+            if (dir.startsWith(prefix) && !toImport.contains(path))
+                toImport << path;
+
         }
     }
+    foreach (const QString &path, toImport)
+        import(Utils::FileName::fromString(path), true);
 }
 
 void TargetSetupPage::handleKitAddition(ProjectExplorer::Kit *k)