diff --git a/src/plugins/qt4projectmanager/buildconfigurationinfo.h b/src/plugins/qt4projectmanager/buildconfigurationinfo.h
index 7adb66ac98f01f7dbfd1e519b2530b35616437eb..6cf166c98b8d1b8f05079921d6a6e2dd497c3214 100644
--- a/src/plugins/qt4projectmanager/buildconfigurationinfo.h
+++ b/src/plugins/qt4projectmanager/buildconfigurationinfo.h
@@ -52,6 +52,16 @@ struct QT4PROJECTMANAGER_EXPORT BuildConfigurationInfo {
         return version != 0;
     }
 
+    bool operator ==(const BuildConfigurationInfo &other) const
+    {
+        return version == other.version
+                && buildConfig == other.buildConfig
+                && additionalArguments == other.additionalArguments
+                && directory == other.directory
+                && importing == other.importing
+                && temporaryQtVersion == other.temporaryQtVersion;
+    }
+
     QtSupport::BaseQtVersion *version;
     QtSupport::BaseQtVersion::QmakeBuildConfigs buildConfig;
     QString additionalArguments;
diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp
index 6d55bb50f58464a0afafc35d2e9dbb56cda0ae44..12888dd60f0b5e88436c7a1f685741b7eda75847 100644
--- a/src/plugins/qt4projectmanager/qt4target.cpp
+++ b/src/plugins/qt4projectmanager/qt4target.cpp
@@ -777,6 +777,7 @@ void Qt4DefaultTargetSetupWidget::addImportClicked()
         m_importLineLayout->invalidate();
         return;
     }
+
     QList<BuildConfigurationInfo> infos = BuildConfigurationInfo::checkForBuild(m_importLinePath->path(), m_proFilePath);
     if (infos.isEmpty()) {
         QMessageBox::critical(this,
@@ -804,6 +805,28 @@ void Qt4DefaultTargetSetupWidget::addImportClicked()
         // show something if we found incompatible builds?
     }
 
+    // Filter out already imported builds
+    infos = filterdInfos;
+    filterdInfos.clear();
+    foreach (const BuildConfigurationInfo &info, infos) {
+        bool alreadyImported = false;
+        foreach (const BuildConfigurationInfo &existingImport, m_importInfos) {
+            if (info == existingImport) {
+                alreadyImported = true;
+                break;
+            }
+        }
+        if (!alreadyImported)
+            filterdInfos << info;
+    }
+
+    if (filterdInfos.isEmpty() && !infos.isEmpty()) {
+        QMessageBox::critical(this,
+                              tr("Already imported build"),
+                              tr("The build found in %1 is already imported").arg(m_importLinePath->path()));
+        return;
+    }
+
     // We switch from to "NONE" on importing if the user has not changed it
     if (m_buildConfigurationTemplateUnchanged)
         setBuildConfigurationTemplate(NONE);