diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index bca4ae32ca84cd98077ff90870aa2b9069c6ec34..98aeb73ace3b6debbf525add246a1e65aa63e5d8 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -474,11 +474,6 @@ QList<ProjectExplorer::Project *> CMakeProject::dependsOn()
     return QList<Project *>();
 }
 
-ProjectExplorer::BuildConfigWidget *CMakeProject::createConfigWidget()
-{
-    return new CMakeBuildSettingsWidget(this);
-}
-
 QList<ProjectExplorer::BuildConfigWidget*> CMakeProject::subConfigWidgets()
 {
     QList<ProjectExplorer::BuildConfigWidget*> list;
@@ -795,8 +790,8 @@ void CMakeFile::reload(ReloadFlag flag, ChangeType type)
     Q_UNUSED(type)
 }
 
-CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeProject *project)
-    : m_project(project), m_buildConfiguration(0)
+CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeTarget *target)
+    : m_target(target), m_buildConfiguration(0)
 {
     QFormLayout *fl = new QFormLayout(this);
     fl->setContentsMargins(20, -1, 0, -1);
@@ -832,7 +827,7 @@ void CMakeBuildSettingsWidget::init(BuildConfiguration *bc)
 {
     m_buildConfiguration = static_cast<CMakeBuildConfiguration *>(bc);
     m_pathLineEdit->setText(m_buildConfiguration->buildDirectory());
-    if (m_buildConfiguration->buildDirectory() == m_project->projectDirectory())
+    if (m_buildConfiguration->buildDirectory() == m_target->cmakeProject()->projectDirectory())
         m_changeButton->setEnabled(false);
     else
         m_changeButton->setEnabled(true);
@@ -840,12 +835,13 @@ void CMakeBuildSettingsWidget::init(BuildConfiguration *bc)
 
 void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
 {
-    CMakeOpenProjectWizard copw(m_project->projectManager(),
-                                m_project->projectDirectory(),
+    CMakeProject *project = m_target->cmakeProject();
+    CMakeOpenProjectWizard copw(project->projectManager(),
+                                project->projectDirectory(),
                                 m_buildConfiguration->buildDirectory(),
                                 m_buildConfiguration->environment());
     if (copw.exec() == QDialog::Accepted) {
-        m_project->changeBuildDirectory(m_buildConfiguration, copw.buildDirectory());
+        project->changeBuildDirectory(m_buildConfiguration, copw.buildDirectory());
         m_pathLineEdit->setText(m_buildConfiguration->buildDirectory());
     }
 }
@@ -853,13 +849,14 @@ void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
 void CMakeBuildSettingsWidget::runCMake()
 {
     // TODO skip build directory
-    CMakeOpenProjectWizard copw(m_project->projectManager(),
-                                m_project->projectDirectory(),
+    CMakeProject *project = m_target->cmakeProject();
+    CMakeOpenProjectWizard copw(project->projectManager(),
+                                project->projectDirectory(),
                                 m_buildConfiguration->buildDirectory(),
                                 CMakeOpenProjectWizard::WantToUpdate,
                                 m_buildConfiguration->environment());
     if (copw.exec() == QDialog::Accepted) {
-        m_project->parseCMakeLists();
+        project->parseCMakeLists();
     }
 }
 
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h
index ae0bce4b1d9d94b5a8ddd4b5e2376065b8bf3386..8e0007c00471cd166816a7420f298ed8f1e759fa 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.h
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.h
@@ -85,7 +85,6 @@ public:
 
     QList<ProjectExplorer::Project *> dependsOn(); //NBS TODO implement dependsOn
 
-    ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
     ProjectExplorer::ProjectNode *rootProjectNode() const;
@@ -222,7 +221,7 @@ class CMakeBuildSettingsWidget : public ProjectExplorer::BuildConfigWidget
 {
     Q_OBJECT
 public:
-    explicit CMakeBuildSettingsWidget(CMakeProject *project);
+    explicit CMakeBuildSettingsWidget(CMakeTarget *target);
     QString displayName() const;
 
     // This is called to set up the config widget before showing it
@@ -232,7 +231,7 @@ private slots:
     void openChangeBuildDirectoryDialog();
     void runCMake();
 private:
-    CMakeProject *m_project;
+    CMakeTarget *m_target;
     QLineEdit *m_pathLineEdit;
     QPushButton *m_changeButton;
     CMakeBuildConfiguration *m_buildConfiguration;
diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.cpp b/src/plugins/cmakeprojectmanager/cmaketarget.cpp
index 8f4c302cf68cd959ae6e5a36d9113092b77982c5..4c9bfb297b8b2c275e1b33cf6d74af2cd945cc1a 100644
--- a/src/plugins/cmakeprojectmanager/cmaketarget.cpp
+++ b/src/plugins/cmakeprojectmanager/cmaketarget.cpp
@@ -78,6 +78,11 @@ CMakeProject *CMakeTarget::cmakeProject() const
     return static_cast<CMakeProject *>(project());
 }
 
+ProjectExplorer::BuildConfigWidget *CMakeTarget::createConfigWidget()
+{
+    return new CMakeBuildSettingsWidget(this);
+}
+
 bool CMakeTargetFactory::supportsTargetId(const QString &id) const
 {
     return id == DEFAULT_CMAKE_TARGET_ID;
diff --git a/src/plugins/cmakeprojectmanager/cmaketarget.h b/src/plugins/cmakeprojectmanager/cmaketarget.h
index f6b4ba4bd92f33cbd36cb7c3de2a62d6410c836e..e2c00c1ceb56034b80ae1c5c42de4ff3c139bc73 100644
--- a/src/plugins/cmakeprojectmanager/cmaketarget.h
+++ b/src/plugins/cmakeprojectmanager/cmaketarget.h
@@ -54,6 +54,8 @@ public:
     CMakeTarget(CMakeProject *parent);
     ~CMakeTarget();
 
+    ProjectExplorer::BuildConfigWidget *createConfigWidget();
+
     CMakeProject *cmakeProject() const;
     CMakeBuildConfiguration *activeBuildConfiguration() const;
 
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index 06f1521aebc5bbc0dafe115bff9bb76ca0a7955c..7c9a1db5993c1ae430dc638c9fb39917c31ac411 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -393,11 +393,6 @@ QList<ProjectExplorer::Project *> GenericProject::dependsOn()
     return QList<Project *>();
 }
 
-ProjectExplorer::BuildConfigWidget *GenericProject::createConfigWidget()
-{
-    return new GenericBuildSettingsWidget(this);
-}
-
 QList<ProjectExplorer::BuildConfigWidget*> GenericProject::subConfigWidgets()
 {
     QList<ProjectExplorer::BuildConfigWidget*> list;
@@ -468,8 +463,8 @@ bool GenericProject::fromMap(const QVariantMap &map)
 // GenericBuildSettingsWidget
 ////////////////////////////////////////////////////////////////////////////////////
 
-GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericProject *project)
-    : m_project(project), m_buildConfiguration(0)
+GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericTarget *target)
+    : m_target(target), m_buildConfiguration(0)
 {
     QFormLayout *fl = new QFormLayout(this);
     fl->setContentsMargins(0, -1, 0, -1);
@@ -478,7 +473,7 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericProject *project)
     // build directory
     m_pathChooser = new Utils::PathChooser(this);
     m_pathChooser->setEnabled(true);
-    m_pathChooser->setBaseDirectory(project->projectDirectory());
+    m_pathChooser->setBaseDirectory(m_target->genericProject()->projectDirectory());
     fl->addRow(tr("Build directory:"), m_pathChooser);
     connect(m_pathChooser, SIGNAL(changed(QString)), this, SLOT(buildDirectoryChanged()));
 
@@ -490,7 +485,7 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericProject *project)
     int selectedIndex = -1;
     foreach (ToolChainType tc, ToolChain::supportedToolChains()) {
         toolChainChooser->addItem(ToolChain::toolChainName(tc), QVariant::fromValue<ToolChainType>(tc));
-        if (m_project->toolChainType() == tc)
+        if (m_target->genericProject()->toolChainType() == tc)
             selectedIndex = index;
         ++index;
     }
@@ -523,7 +518,7 @@ void GenericBuildSettingsWidget::toolChainSelected(int index)
 
     QComboBox *toolChainChooser = qobject_cast<QComboBox*>(sender());
     ToolChainType type = toolChainChooser->itemData(index).value<ToolChainType>();
-    m_project->setToolChainType(type);
+    m_target->genericProject()->setToolChainType(type);
 }
 
 ////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h
index 681c487fe0f7af8031a7fcfbfc02dac38de52af6..7971d85998c263b8ff2de44c32bf35f528acf181 100644
--- a/src/plugins/genericprojectmanager/genericproject.h
+++ b/src/plugins/genericprojectmanager/genericproject.h
@@ -82,7 +82,6 @@ public:
 
     QList<ProjectExplorer::Project *> dependsOn();
 
-    ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
     GenericProjectNode *rootProjectNode() const;
@@ -180,7 +179,7 @@ class GenericBuildSettingsWidget : public ProjectExplorer::BuildConfigWidget
     Q_OBJECT
 
 public:
-    GenericBuildSettingsWidget(GenericProject *project);
+    GenericBuildSettingsWidget(GenericTarget *target);
     virtual ~GenericBuildSettingsWidget();
 
     virtual QString displayName() const;
@@ -192,7 +191,7 @@ private Q_SLOTS:
     void toolChainSelected(int index);
 
 private:
-    GenericProject *m_project;
+    GenericTarget *m_target;
     Utils::PathChooser *m_pathChooser;
     GenericBuildConfiguration *m_buildConfiguration;
 };
diff --git a/src/plugins/genericprojectmanager/generictarget.cpp b/src/plugins/genericprojectmanager/generictarget.cpp
index d5e463fe9c6a9bc6c604ab7be215fd1833d25ac0..d388734cc45d0a1d2814c93b39f1572004c14acd 100644
--- a/src/plugins/genericprojectmanager/generictarget.cpp
+++ b/src/plugins/genericprojectmanager/generictarget.cpp
@@ -66,6 +66,11 @@ GenericTarget::~GenericTarget()
 {
 }
 
+ProjectExplorer::BuildConfigWidget *GenericTarget::createConfigWidget()
+{
+    return new GenericBuildSettingsWidget(this);
+}
+
 GenericProject *GenericTarget::genericProject() const
 {
     return static_cast<GenericProject *>(project());
diff --git a/src/plugins/genericprojectmanager/generictarget.h b/src/plugins/genericprojectmanager/generictarget.h
index b076de37f99ee2eeb056bdfcd08aa6a938bc7a6a..b7bdd07d9b50e6b6c5af4805968ed497cd56540b 100644
--- a/src/plugins/genericprojectmanager/generictarget.h
+++ b/src/plugins/genericprojectmanager/generictarget.h
@@ -61,6 +61,8 @@ public:
     explicit GenericTarget(GenericProject *parent);
     ~GenericTarget();
 
+    ProjectExplorer::BuildConfigWidget *createConfigWidget();
+
     GenericProject *genericProject() const;
 
     GenericBuildConfigurationFactory *buildConfigurationFactory() const;
diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
index 3bcf9fcc93b661be8c505473620e103a5350cb75..5c6799aa8098cb0cb8c6c826f37e4e7e59bd1ba6 100644
--- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp
@@ -258,7 +258,7 @@ void BuildSettingsWidget::updateBuildSettings()
     m_removeButton->setEnabled(m_target->buildConfigurations().size() > 1);
 
     // Add pages
-    BuildConfigWidget *generalConfigWidget = m_target->project()->createConfigWidget();
+    BuildConfigWidget *generalConfigWidget = m_target->createConfigWidget();
     addSubWidget(generalConfigWidget);
 
     addSubWidget(new BuildStepsPage(m_target, QLatin1String(Constants::BUILDSTEPS_BUILD)));
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index ef783ae6d4480fc283c3b6d4f18b8ec9a339cd2d..b907a921bb70c5aebdc4212e4535d72cc507b4f1 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -99,7 +99,6 @@ public:
     void saveSettings();
     bool restoreSettings();
 
-    virtual BuildConfigWidget *createConfigWidget() = 0;
     virtual QList<BuildConfigWidget*> subConfigWidgets();
 
     virtual ProjectNode *rootProjectNode() const = 0;
diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h
index 371f7ef59c98a6e42505245837df2a6a13114303..c0525257d585febf314bcfa28f84c11ec6d1620b 100644
--- a/src/plugins/projectexplorer/target.h
+++ b/src/plugins/projectexplorer/target.h
@@ -47,6 +47,7 @@ class IBuildConfigurationFactory;
 class DeployConfigurationFactory;
 class IRunConfigurationFactory;
 class Project;
+class BuildConfigWidget;
 
 class TargetPrivate;
 
@@ -57,6 +58,8 @@ class PROJECTEXPLORER_EXPORT Target : public ProjectConfiguration
 public:
     virtual ~Target();
 
+    virtual BuildConfigWidget *createConfigWidget() = 0;
+
     virtual Project *project() const;
 
     // Build configuration
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 5c7c7e83dc7f7c48fd97799653cbc7171a7b6109..29c1c103697ae191708f253e40fa93b7e5409dbd 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -233,11 +233,6 @@ QList<ProjectExplorer::Project *> QmlProject::dependsOn()
     return QList<Project *>();
 }
 
-ProjectExplorer::BuildConfigWidget *QmlProject::createConfigWidget()
-{
-    return 0;
-}
-
 QList<ProjectExplorer::BuildConfigWidget*> QmlProject::subConfigWidgets()
 {
     return QList<ProjectExplorer::BuildConfigWidget*>();
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index e9de0617115d92f57233cc37b630bbde5f7f9725..b895982b2f20ef6da337fe49263b99f124a092b6 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -77,7 +77,6 @@ public:
 
     QList<ProjectExplorer::Project *> dependsOn();
 
-    ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
     Internal::QmlProjectNode *rootProjectNode() const;
diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp
index c4f516beb06ca3d4de7d46808fafdaf3e749aa8f..f79b7c433f6952e998b3849518946890f124df6f 100644
--- a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp
@@ -53,6 +53,11 @@ QmlProjectTarget::~QmlProjectTarget()
 {
 }
 
+ProjectExplorer::BuildConfigWidget *QmlProjectTarget::createConfigWidget()
+{
+    return 0;
+}
+
 QmlProject *QmlProjectTarget::qmlProject() const
 {
     return static_cast<QmlProject *>(project());
diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.h b/src/plugins/qmlprojectmanager/qmlprojecttarget.h
index 37971c316f86c90f9d89ff6608e94b2329271025..a5f5e3f118519ba90e191f0d852ae5d22c9bd6e1 100644
--- a/src/plugins/qmlprojectmanager/qmlprojecttarget.h
+++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.h
@@ -52,6 +52,8 @@ public:
     explicit QmlProjectTarget(QmlProject *parent);
     ~QmlProjectTarget();
 
+    ProjectExplorer::BuildConfigWidget *createConfigWidget();
+
     QmlProject *qmlProject() const;
 
     ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index f8886e028daa60f5ee6c61a818fb4c2497a3df2b..8e4ddafaa4c9c8484309b2e140359fe1f2bceb94 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -967,11 +967,6 @@ bool Qt4Project::validParse(const QString &proFilePath) const
     return node && node->validParse();
 }
 
-BuildConfigWidget *Qt4Project::createConfigWidget()
-{
-    return new Qt4ProjectConfigWidget(this);
-}
-
 QList<BuildConfigWidget*> Qt4Project::subConfigWidgets()
 {
     QList<BuildConfigWidget*> subWidgets;
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index af1b4b38081c90cefe8ca188642cd34a973bf9b9..bde487b5850f4d046d0074c2eb4db1fbabe9240d 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -164,7 +164,6 @@ public:
     virtual QStringList files(FilesMode fileMode) const;
     virtual QString generatedUiHeader(const QString &formFile) const;
 
-    ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
     QList<Internal::Qt4ProFileNode *> leafProFiles() const;
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index 1056bf935d257e447bcf10375bc24dd9e74323cf..7e122c3dd62046e641165df1acbfcd84f84f3730 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -32,6 +32,7 @@
 #include "makestep.h"
 #include "qmakestep.h"
 #include "qt4project.h"
+#include "qt4target.h"
 #include "qt4projectmanagerconstants.h"
 #include "qt4projectmanager.h"
 #include "qt4buildconfiguration.h"
@@ -58,12 +59,11 @@ using namespace Qt4ProjectManager;
 using namespace Qt4ProjectManager::Internal;
 using ProjectExplorer::ToolChain;
 
-Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
+Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Target *target)
     : BuildConfigWidget(),
       m_buildConfiguration(0),
       m_ignoreChange(false)
 {
-    Q_UNUSED(project);
     QVBoxLayout *vbox = new QVBoxLayout(this);
     vbox->setMargin(0);
     m_detailsContainer = new Utils::DetailsWidget(this);
@@ -79,7 +79,7 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
 
     m_ui->shadowBuildDirEdit->setPromptDialogTitle(tr("Shadow Build Directory"));
     m_ui->shadowBuildDirEdit->setExpectedKind(Utils::PathChooser::Directory);
-    m_ui->shadowBuildDirEdit->setBaseDirectory(project->projectDirectory());
+    m_ui->shadowBuildDirEdit->setBaseDirectory(target->qt4Project()->projectDirectory());
 
     connect(m_ui->shadowBuildCheckBox, SIGNAL(clicked(bool)),
             this, SLOT(shadowBuildClicked(bool)));
@@ -102,10 +102,10 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
     connect(m_ui->manageQtVersionPushButtons, SIGNAL(clicked()),
             this, SLOT(manageQtVersions()));
 
-    connect(project, SIGNAL(environmentChanged()),
+    connect(target->qt4Project(), SIGNAL(environmentChanged()),
             this, SLOT(environmentChanged()));
 
-    connect(project, SIGNAL(buildDirectoryInitialized()),
+    connect(target->qt4Project(), SIGNAL(buildDirectoryInitialized()),
             this, SLOT(updateImportLabel()));
 }
 
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.h b/src/plugins/qt4projectmanager/qt4projectconfigwidget.h
index a93d5dd3326502694598c3666a147ca15af26997..b49a7a9dd8cc13087392a30e4c512eb7974823ce 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.h
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.h
@@ -46,6 +46,7 @@ class Qt4Project;
 
 namespace Internal {
 class Qt4BuildConfiguration;
+class Qt4Target;
 
 namespace Ui {
 class Qt4ProjectConfigWidget;
@@ -55,7 +56,7 @@ class Qt4ProjectConfigWidget : public ProjectExplorer::BuildConfigWidget
 {
     Q_OBJECT
 public:
-    explicit Qt4ProjectConfigWidget(Qt4Project *project);
+    explicit Qt4ProjectConfigWidget(Qt4Target *target);
     ~Qt4ProjectConfigWidget();
 
     QString displayName() const;
diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp
index d2d34cfb9d9ca8e7740e0bcd898507fa6bb622fe..6e30e4f496cb34d83077856cfe09e262bb23389e 100644
--- a/src/plugins/qt4projectmanager/qt4target.cpp
+++ b/src/plugins/qt4projectmanager/qt4target.cpp
@@ -44,6 +44,7 @@
 #include "qt-s60/s60emulatorrunconfiguration.h"
 #include "qt-s60/s60createpackagestep.h"
 #include "qt-s60/s60deploystep.h"
+#include "qt4projectconfigwidget.h"
 
 #include <projectexplorer/buildsteplist.h>
 #include <projectexplorer/customexecutablerunconfiguration.h>
@@ -272,15 +273,17 @@ Qt4Target::Qt4Target(Qt4Project *parent, const QString &id) :
             this, SLOT(onAddedDeployConfiguration(ProjectExplorer::DeployConfiguration*)));
     connect(this, SIGNAL(activeRunConfigurationChanged(ProjectExplorer::RunConfiguration*)),
             this, SLOT(updateToolTipAndIcon()));
-
-    setDefaultDisplayName(displayNameForId(id));
-    setIcon(iconForId(id));
 }
 
 Qt4Target::~Qt4Target()
 {
 }
 
+ProjectExplorer::BuildConfigWidget *Qt4Target::createConfigWidget()
+{
+    return new Qt4ProjectConfigWidget(this);
+}
+
 Qt4BuildConfiguration *Qt4Target::activeBuildConfiguration() const
 {
     return static_cast<Qt4BuildConfiguration *>(Target::activeBuildConfiguration());
diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h
index 265a4fdbb272eec876fa5555ea85da65091f3e8e..ff936b6d78ae8f77962567ee9a52ff656cb13b94 100644
--- a/src/plugins/qt4projectmanager/qt4target.h
+++ b/src/plugins/qt4projectmanager/qt4target.h
@@ -65,6 +65,8 @@ public:
     explicit Qt4Target(Qt4Project *parent, const QString &id);
     virtual ~Qt4Target();
 
+    ProjectExplorer::BuildConfigWidget *createConfigWidget();
+
     Qt4BuildConfiguration *activeBuildConfiguration() const;
     Qt4ProjectManager::Qt4Project *qt4Project() const;