diff --git a/src/plugins/coreplugin/basemode.cpp b/src/plugins/coreplugin/basemode.cpp
index c6cfa37726fb267111124d649e2f3562befdf3f6..ea2d202fc24f165bcd9a4805694d0d2c8b37a279 100644
--- a/src/plugins/coreplugin/basemode.cpp
+++ b/src/plugins/coreplugin/basemode.cpp
@@ -82,38 +82,6 @@ BaseMode::BaseMode(QObject *parent):
 {
 }
 
-/*!
-    \fn BaseMode::BaseMode(const QString &name,
-                           const char * uniqueModeName,
-                           const QIcon &icon,
-                           int priority,
-                           QWidget *widget,
-                           QObject *parent)
-
-    Creates a mode with the given properties.
-
-    \a name
-    \a uniqueModeName
-    \a icon
-    \a priority
-    \a widget
-    \a parent
-*/
-BaseMode::BaseMode(const QString &name,
-                   const char * uniqueModeName,
-                   const QIcon &icon,
-                   int priority,
-                   QWidget *widget,
-                   QObject *parent):
-    IMode(parent),
-    m_name(name),
-    m_icon(icon),
-    m_priority(priority),
-    m_widget(widget),
-    m_uniqueModeName(uniqueModeName)
-{
-}
-
 /*!
     \fn BaseMode::~BaseMode()
 */
diff --git a/src/plugins/coreplugin/basemode.h b/src/plugins/coreplugin/basemode.h
index 81713d9c99001c54567003b556db26f47d2816ba..bca1f24347bb3b0e1351ca25f3a50b2dd32121e2 100644
--- a/src/plugins/coreplugin/basemode.h
+++ b/src/plugins/coreplugin/basemode.h
@@ -49,12 +49,6 @@ class CORE_EXPORT BaseMode
 
 public:
     BaseMode(QObject *parent = 0);
-    BaseMode(const QString &name,
-             const char * uniqueModeName,
-             const QIcon &icon,
-             int priority,
-             QWidget *widget,
-             QObject *parent = 0);
     ~BaseMode();
 
     // IMode
diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index b36535ed493b9c3da50eddb1103780e6e22bca1a..b268b8ea3942dbf4a03a66dcbfa174189546eae4 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -283,11 +283,12 @@ bool MainWindow::init(ExtensionSystem::PluginManager *pm, QString *)
     outputModeWidget->setLayout(new QVBoxLayout);
     outputModeWidget->layout()->setMargin(0);
     outputModeWidget->layout()->setSpacing(0);
-    m_outputMode = new BaseMode(tr("Output"),
-                                Constants::MODE_OUTPUT,
-                                QIcon(QLatin1String(":/fancyactionbar/images/mode_Output.png")),
-                                Constants::P_MODE_OUTPUT,
-                                outputModeWidget);
+    m_outputMode = new BaseMode;
+    m_outputMode->setName(tr("Output"));
+    m_outputMode->setUniqueModeName(Constants::MODE_OUTPUT);
+    m_outputMode->setIcon(QIcon(QLatin1String(":/fancyactionbar/images/mode_Output.png")));
+    m_outputMode->setPriority(Constants::P_MODE_OUTPUT);
+    m_outputMode->setWidget(outputModeWidget);
     OutputPanePlaceHolder *oph = new OutputPanePlaceHolder(m_outputMode);
     oph->setVisible(true);
     oph->setCloseable(false);
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index e1e0c82f2178117e01cfbaf7ccd69b5ac85e27a5..b9e03bc855f04962d09e79aeb0ddaff7e3e0817b 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -163,10 +163,12 @@ public:
 } // namespace Debugger
 
 DebugMode::DebugMode(QObject *parent)
-  : BaseMode(tr("Debug"), Constants::MODE_DEBUG,
-             QIcon(":/fancyactionbar/images/mode_Debug.png"),
-             Constants::P_MODE_DEBUG, 0, parent)
+  : BaseMode(parent)
 {
+    setName(tr("Debug"));
+    setUniqueModeName(Constants::MODE_DEBUG);
+    setIcon(QIcon(":/fancyactionbar/images/mode_Debug.png"));
+    setPriority(Constants::P_MODE_DEBUG);
 }
 
 DebugMode::~DebugMode()
diff --git a/src/plugins/help/helpmode.cpp b/src/plugins/help/helpmode.cpp
index 673b5f607d6108d45100f46a40c7c946a651d59c..687a5f116e1108b70780c56088f659c344db1a51 100644
--- a/src/plugins/help/helpmode.cpp
+++ b/src/plugins/help/helpmode.cpp
@@ -41,13 +41,14 @@
 using namespace Help;
 using namespace Help::Internal;
 
-HelpMode::HelpMode(QWidget *widget, QWidget *centralWidget, QObject *parent):
-    BaseMode(tr("Help"),
-             Constants::ID_MODE_HELP,
-             QIcon((QLatin1String(":/fancyactionbar/images/mode_Reference.png"))),
-             Constants::P_MODE_HELP, widget, parent),
-    m_centralWidget(centralWidget)
+HelpMode::HelpMode(QWidget *widget, QWidget *centralWidget, QObject *parent)
+    : BaseMode(parent), m_centralWidget(centralWidget)
 {
+    setName(tr("Help"));
+    setUniqueModeName(Constants::ID_MODE_HELP);
+    setIcon(QIcon(QLatin1String(":/fancyactionbar/images/mode_Reference.png")));
+    setPriority(Constants::P_MODE_HELP);
+    setWidget(widget);
     m_centralWidget->layout()->setSpacing(0);
     m_centralWidget->layout()->addWidget(new Core::FindToolBarPlaceHolder(this));
 }
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 84d68ea502a24a9400c6174093aa215eda556693..bffa3911010cd407e716faddd4b6ae09e4038149 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -181,11 +181,12 @@ bool ProjectExplorerPlugin::initialize(const QStringList & /*arguments*/, QStrin
     QList<int> pecontext;
     pecontext << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_PROJECTEXPLORER);
 
-    Core::BaseMode *mode = new Core::BaseMode(tr("Projects"),
-                                              Constants::MODE_SESSION,
-                                              QIcon(QLatin1String(":/fancyactionbar/images/mode_Project.png")),
-                                              Constants::P_MODE_SESSION,
-                                              m_proWindow);
+    Core::BaseMode *mode = new Core::BaseMode;
+    mode->setName(tr("Projects"));
+    mode->setUniqueModeName(Constants::MODE_SESSION);
+    mode->setIcon(QIcon(QLatin1String(":/fancyactionbar/images/mode_Project.png")));
+    mode->setPriority(Constants::P_MODE_SESSION);
+    mode->setWidget(m_proWindow);
     mode->setContext(QList<int>() << pecontext);
     addAutoReleasedObject(mode);
     m_proWindow->layout()->addWidget(new Core::FindToolBarPlaceHolder(mode));