diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 5dacfee7e55a430bfd9fc96feb8d1d7416874d06..725d2b1132f6aa018babca29fec19b845c57337f 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -156,11 +156,16 @@ void RunConfiguration::addExtraAspects()
         return;
 
     foreach (IRunControlFactory *factory, ExtensionSystem::PluginManager::getObjects<IRunControlFactory>())
-        if (IRunConfigurationAspect *aspect = factory->createRunConfigurationAspect(this))
-            m_aspects.append(aspect);
+        addExtraAspect(factory->createRunConfigurationAspect(this));
     m_aspectsInitialized = true;
 }
 
+void RunConfiguration::addExtraAspect(IRunConfigurationAspect *aspect)
+{
+    if (aspect)
+        m_aspects += aspect;
+}
+
 void RunConfiguration::ctor()
 {
     connect(this, SIGNAL(enabledChanged()), this, SIGNAL(requestRunActionsUpdate()));
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index f69a2475573f6a8f548c6edc240a017d4d9ef1c4..b656107f4981243870ceaa4db5f78221bfb74573 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -126,6 +126,7 @@ public:
     virtual ProjectExplorer::Abi abi() const;
 
     void addExtraAspects();
+    void addExtraAspect(IRunConfigurationAspect *aspect);
 
 signals:
     void enabledChanged();