diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index 374da674f448e6911bcfa9e0aa76e555db9413b6..9f82808b4228f8bf7a0a9f91a9fd23ae76697f78 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -83,6 +83,8 @@ QString Project::makeUnique(const QString &preferredName, const QStringList &use
 
 void Project::addBuildConfiguration(BuildConfiguration *configuration)
 {
+    QTC_ASSERT(!configuration || m_buildConfigurations.contains(configuration), return);
+
     // Check that we don't have a configuration with the same displayName
     QString configurationDisplayName = configuration->displayName();
     QStringList displayNames;
@@ -413,10 +415,8 @@ QList<RunConfiguration *> Project::runConfigurations() const
 
 void Project::addRunConfiguration(RunConfiguration* runConfiguration)
 {
-    if (m_runConfigurations.contains(runConfiguration)) {
-        qWarning()<<"Not adding already existing runConfiguration"<<runConfiguration->displayName();
-        return;
-    }
+    QTC_ASSERT(!runConfiguration || m_runConfigurations.contains(runConfiguration), return);
+
     m_runConfigurations.push_back(runConfiguration);
     emit addedRunConfiguration(this, runConfiguration->displayName());
 }