diff --git a/src/plugins/madde/qt4maemodeployconfiguration.cpp b/src/plugins/madde/qt4maemodeployconfiguration.cpp
index 0f07c706d5668684c4999163761b2cb1a7e9555b..9e7c2ef6465261d2baa762cb79c6e563e0388a27 100644
--- a/src/plugins/madde/qt4maemodeployconfiguration.cpp
+++ b/src/plugins/madde/qt4maemodeployconfiguration.cpp
@@ -80,7 +80,7 @@ Qt4MaemoDeployConfiguration::Qt4MaemoDeployConfiguration(ProjectExplorer::Target
 
 DeployConfigurationWidget *Qt4MaemoDeployConfiguration::createConfigWidget()
 {
-    return new RemoteLinuxDeployConfigurationWidget;
+    return new RemoteLinuxDeployConfigurationWidget(this);
 }
 
 Qt4MaemoDeployConfiguration::~Qt4MaemoDeployConfiguration() {}
diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h
index b0398254d663d44baaa468b6d6a321e3f170c586..ec5716291935d0d437ae4deb12465c28f1d306da 100644
--- a/src/plugins/projectexplorer/deployconfiguration.h
+++ b/src/plugins/projectexplorer/deployconfiguration.h
@@ -130,9 +130,6 @@ class PROJECTEXPLORER_EXPORT DeployConfigurationWidget : public NamedWidget
 
 public:
     explicit DeployConfigurationWidget(QWidget *parent = 0);
-
-    // This is called to set up the config widget before showing it
-    virtual void init(DeployConfiguration *dc) = 0;
 };
 
 } // namespace ProjectExplorer
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index 524c5b21cb06feb9c7f2b605d140c067aa3378f0..bf19e13c590ac6c08711dc2815b5012b59bd0a14 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -497,10 +497,8 @@ void RunSettingsWidget::updateDeployConfiguration(DeployConfiguration *dc)
     m_ignoreChange = false;
 
     m_deployConfigurationWidget = dc->createConfigWidget();
-    if (m_deployConfigurationWidget) {
-        m_deployConfigurationWidget->init(dc);
+    if (m_deployConfigurationWidget)
         m_deployLayout->addWidget(m_deployConfigurationWidget);
-    }
 
     m_deploySteps = new BuildStepListWidget;
     m_deploySteps->init(dc->stepList());
diff --git a/src/plugins/qnx/blackberrydeployconfiguration.cpp b/src/plugins/qnx/blackberrydeployconfiguration.cpp
index 5c3de649fe891c5852e3a7045d82989e3d763797..ef16e6a6ada051ac6ce9189b6b281210a3ec2b00 100644
--- a/src/plugins/qnx/blackberrydeployconfiguration.cpp
+++ b/src/plugins/qnx/blackberrydeployconfiguration.cpp
@@ -161,5 +161,5 @@ BlackBerryDeployInformation *BlackBerryDeployConfiguration::deploymentInfo() con
 
 ProjectExplorer::DeployConfigurationWidget *BlackBerryDeployConfiguration::createConfigWidget()
 {
-    return new BlackBerryDeployConfigurationWidget;
+    return new BlackBerryDeployConfigurationWidget(this);
 }
diff --git a/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp b/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp
index 38b4172a07b99af5e4e142f7e433ba59d2eb6169..8cfb92b63d054c40935ced07b099489acaa6edb3 100644
--- a/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp
+++ b/src/plugins/qnx/blackberrydeployconfigurationwidget.cpp
@@ -43,22 +43,14 @@
 using namespace Qnx;
 using namespace Qnx::Internal;
 
-BlackBerryDeployConfigurationWidget::BlackBerryDeployConfigurationWidget(QWidget *parent)
+BlackBerryDeployConfigurationWidget::BlackBerryDeployConfigurationWidget(BlackBerryDeployConfiguration *dc,
+                                                                         QWidget *parent)
     : ProjectExplorer::DeployConfigurationWidget(parent)
     , m_ui(new Ui::BlackBerryDeployConfigurationWidget)
     , m_deployConfiguration(0)
 {
     m_ui->setupUi(this);
-}
-
-BlackBerryDeployConfigurationWidget::~BlackBerryDeployConfigurationWidget()
-{
-    delete m_ui;
-}
-
-void BlackBerryDeployConfigurationWidget::init(ProjectExplorer::DeployConfiguration *dc)
-{
-    m_deployConfiguration = qobject_cast<BlackBerryDeployConfiguration *>(dc);
+    m_deployConfiguration = dc;
 
     m_ui->deployPackagesView->setModel(m_deployConfiguration->deploymentInfo());
 
@@ -75,3 +67,8 @@ void BlackBerryDeployConfigurationWidget::init(ProjectExplorer::DeployConfigurat
 
     m_ui->deployPackagesView->header()->resizeSections(QHeaderView::ResizeToContents);
 }
+
+BlackBerryDeployConfigurationWidget::~BlackBerryDeployConfigurationWidget()
+{
+    delete m_ui;
+}
diff --git a/src/plugins/qnx/blackberrydeployconfigurationwidget.h b/src/plugins/qnx/blackberrydeployconfigurationwidget.h
index d2451f64bbf02efe32dc5f1a34d860b3c6e5f837..294d43ab2e5c0fcc5e74afa44140be6cc30bf232 100644
--- a/src/plugins/qnx/blackberrydeployconfigurationwidget.h
+++ b/src/plugins/qnx/blackberrydeployconfigurationwidget.h
@@ -47,11 +47,9 @@ class BlackBerryDeployConfigurationWidget : public ProjectExplorer::DeployConfig
 {
     Q_OBJECT
 public:
-    explicit BlackBerryDeployConfigurationWidget(QWidget *parent = 0);
+    explicit BlackBerryDeployConfigurationWidget(BlackBerryDeployConfiguration *dc, QWidget *parent = 0);
     ~BlackBerryDeployConfigurationWidget();
 
-    void init(ProjectExplorer::DeployConfiguration *dc);
-
 private:
     Ui::BlackBerryDeployConfigurationWidget *m_ui;
 
diff --git a/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp b/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp
index 2bbc59a1803a45d26af9ab23e643105eaa2b7c1a..4fefd16139d1a5c415e22bb3ce8dd1708e860277 100644
--- a/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp
+++ b/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp
@@ -53,7 +53,7 @@ RemoteLinuxDeployConfiguration::RemoteLinuxDeployConfiguration(ProjectExplorer::
 
 DeployConfigurationWidget *RemoteLinuxDeployConfiguration::createConfigWidget()
 {
-    return new RemoteLinuxDeployConfigurationWidget;
+    return new RemoteLinuxDeployConfigurationWidget(this);
 }
 
 } // namespace RemoteLinux
diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.cpp b/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.cpp
index fb1169f142e086ab5c2104c985977fcc05b0a822..9a0efb915c4483f1578569325b48bc34a9488116 100644
--- a/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.cpp
+++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.cpp
@@ -53,7 +53,8 @@ public:
 
 using namespace Internal;
 
-RemoteLinuxDeployConfigurationWidget::RemoteLinuxDeployConfigurationWidget(QWidget *parent) :
+RemoteLinuxDeployConfigurationWidget::RemoteLinuxDeployConfigurationWidget(RemoteLinuxDeployConfiguration *dc,
+                                                                           QWidget *parent) :
     DeployConfigurationWidget(parent), d(new RemoteLinuxDeployConfigurationWidgetPrivate)
 {
     d->ui.setupUi(this);
@@ -61,6 +62,11 @@ RemoteLinuxDeployConfigurationWidget::RemoteLinuxDeployConfigurationWidget(QWidg
     d->ui.deploymentDataView->setWordWrap(false);
     d->ui.deploymentDataView->setUniformRowHeights(true);
     d->ui.deploymentDataView->setModel(&d->deploymentDataModel);
+
+    d->deployConfiguration = dc;
+
+    connect(dc->target(), SIGNAL(deploymentDataChanged()), SLOT(updateDeploymentDataModel()));
+    updateDeploymentDataModel();
 }
 
 RemoteLinuxDeployConfigurationWidget::~RemoteLinuxDeployConfigurationWidget()
@@ -68,15 +74,6 @@ RemoteLinuxDeployConfigurationWidget::~RemoteLinuxDeployConfigurationWidget()
     delete d;
 }
 
-void RemoteLinuxDeployConfigurationWidget::init(DeployConfiguration *dc)
-{
-    d->deployConfiguration = qobject_cast<RemoteLinuxDeployConfiguration *>(dc);
-    QTC_ASSERT(d->deployConfiguration, return);
-
-    connect(dc->target(), SIGNAL(deploymentDataChanged()), SLOT(updateDeploymentDataModel()));
-    updateDeploymentDataModel();
-}
-
 void RemoteLinuxDeployConfigurationWidget::updateDeploymentDataModel()
 {
     d->deploymentDataModel.setDeploymentData(d->deployConfiguration->target()->deploymentData());
diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h b/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h
index 0c032862cee1a00d41e2cb330895817474e382c5..fa9a7379595474ff6eac5d0b362ce289097675e5 100644
--- a/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h
+++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationwidget.h
@@ -34,6 +34,8 @@
 #include <projectexplorer/deployconfiguration.h>
 
 namespace RemoteLinux {
+class RemoteLinuxDeployConfiguration;
+
 namespace Internal {
 class RemoteLinuxDeployConfigurationWidgetPrivate;
 } // namespace Internal
@@ -44,11 +46,10 @@ class REMOTELINUX_EXPORT RemoteLinuxDeployConfigurationWidget
     Q_OBJECT
 
 public:
-    explicit RemoteLinuxDeployConfigurationWidget(QWidget *parent = 0);
+    explicit RemoteLinuxDeployConfigurationWidget(RemoteLinux::RemoteLinuxDeployConfiguration *dc,
+                                                  QWidget *parent = 0);
     ~RemoteLinuxDeployConfigurationWidget();
 
-    void init(ProjectExplorer::DeployConfiguration *dc);
-
 private slots:
     void updateDeploymentDataModel();