diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index bab91d36117a64bfa38a2625a3436b0234efed4a..258927156f5e08ec555b50cf0a31974899f286a4 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -50,10 +50,15 @@
 
 #include <projectexplorer/taskhub.h>
 
+#include <qtsupport/qtsupportconstants.h>
+
 #include <QtCore/QtPlugin>
 
+#include <QtGui/QApplication>
+#include <QtGui/QMessageBox>
+#include <QtGui/QPushButton>
+
 namespace QmlProjectManager {
-namespace Internal {
 
 QmlProjectPlugin::QmlProjectPlugin()
 { }
@@ -74,13 +79,13 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage)
     if (! mimeDB->addMimeTypes(mimetypesXml, errorMessage))
         return false;
 
-    Manager *manager = new Manager;
+    Internal::Manager *manager = new Internal::Manager;
 
     addAutoReleasedObject(manager);
     addAutoReleasedObject(new Internal::QmlProjectRunConfigurationFactory);
     addAutoReleasedObject(new Internal::QmlProjectRunControlFactory);
-    addAutoReleasedObject(new QmlProjectApplicationWizard);
-    addAutoReleasedObject(new QmlProjectTargetFactory);
+    addAutoReleasedObject(new Internal::QmlProjectApplicationWizard);
+    addAutoReleasedObject(new Internal::QmlProjectTargetFactory);
 
     QmlProjectFileFormat::registerDeclarativeTypes();
 
@@ -93,7 +98,29 @@ void QmlProjectPlugin::extensionsInitialized()
 {
 }
 
-} // namespace Internal
+void QmlProjectPlugin::showQmlObserverToolWarning()
+{
+    QMessageBox dialog(QApplication::activeWindow());
+    QPushButton *qtPref = dialog.addButton(tr("Open Qt4 Options"),
+                                           QMessageBox::ActionRole);
+    dialog.addButton(tr("Cancel"), QMessageBox::ActionRole);
+    dialog.setDefaultButton(qtPref);
+    dialog.setWindowTitle(tr("QML Observer Missing"));
+    dialog.setText(tr("QML Observer could not be found."));
+    dialog.setInformativeText(tr(
+                                  "QML Observer is used to offer debugging features for "
+                                  "QML applications, such as interactive debugging and inspection tools. "
+                                  "It must be compiled for each used Qt version separately. "
+                                  "On the Qt4 options page, select the current Qt installation "
+                                  "and click Rebuild."));
+    dialog.exec();
+    if (dialog.clickedButton() == qtPref) {
+        Core::ICore::instance()->showOptionsDialog(
+                    QtSupport::Constants::QT_SETTINGS_CATEGORY,
+                    QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID);
+    }
+}
+
 } // namespace QmlProjectManager
 
-Q_EXPORT_PLUGIN(QmlProjectManager::Internal::QmlProjectPlugin)
+Q_EXPORT_PLUGIN(QmlProjectManager::QmlProjectPlugin)
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
index 7b5d37ac652dce51c1a9185da4e4012a310dd022..8e1ce09da04652669a7a6423d98305bbcb249177 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
@@ -33,6 +33,8 @@
 #ifndef QMLPROJECTPLUGIN_H
 #define QMLPROJECTPLUGIN_H
 
+#include "qmlprojectmanager_global.h"
+
 #include <extensionsystem/iplugin.h>
 
 #include <QtCore/QObject>
@@ -42,7 +44,9 @@ namespace Internal {
 
 class ProjectFilesFactory;
 
-class QmlProjectPlugin: public ExtensionSystem::IPlugin
+}
+
+class QMLPROJECTMANAGER_EXPORT QmlProjectPlugin: public ExtensionSystem::IPlugin
 {
     Q_OBJECT
 
@@ -52,9 +56,11 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorString);
     virtual void extensionsInitialized();
+
+    static void showQmlObserverToolWarning();
+
 };
 
-} // namespace Internal
 } // namespace QmlProject
 
 #endif // QMLPROJECTPLUGIN_H
diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
index 6bf422b093625a997443b8ce22d0a1f065f4fe4f..80c7d29df6368be1b02a81717615f2ad06e678ab 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
@@ -50,20 +50,15 @@
 #include <debugger/debuggerengine.h>
 #include <debugger/debuggerstartparameters.h>
 #include <qmljsinspector/qmljsinspectorconstants.h>
-#include <qtsupport/qtversionmanager.h>
 #include <qtsupport/qmlobservertool.h>
-#include <qtsupport/qtsupportconstants.h>
 
-#include <QtGui/QApplication>
-#include <QtGui/QLabel>
-#include <QtGui/QMessageBox>
-#include <QtGui/QPushButton>
+#include <qmlprojectmanager/qmlprojectplugin.h>
 
-#include <QtCore/QDir>
 
 using namespace ProjectExplorer;
 
 namespace QmlProjectManager {
+
 namespace Internal {
 
 QmlProjectRunControl::QmlProjectRunControl(QmlProjectRunConfiguration *runConfiguration, QString mode)
@@ -213,35 +208,12 @@ RunControl *QmlProjectRunControlFactory::createDebugRunControl(QmlProjectRunConf
     params.projectSourceFiles = runConfig->target()->project()->files(Project::ExcludeGeneratedFiles);
 
     if (params.executable.isEmpty()) {
-        showQmlObserverToolWarning();
+        QmlProjectPlugin::showQmlObserverToolWarning();
         return 0;
     }
 
     return Debugger::DebuggerPlugin::createDebugger(params, runConfig);
 }
 
-void QmlProjectRunControlFactory::showQmlObserverToolWarning()
-{
-    QMessageBox dialog(QApplication::activeWindow());
-    QPushButton *qtPref = dialog.addButton(tr("Open Qt4 Options"),
-                                           QMessageBox::ActionRole);
-    dialog.addButton(tr("Cancel"), QMessageBox::ActionRole);
-    dialog.setDefaultButton(qtPref);
-    dialog.setWindowTitle(tr("QML Observer Missing"));
-    dialog.setText(tr("QML Observer could not be found."));
-    dialog.setInformativeText(tr(
-                                  "QML Observer is used to offer debugging features for "
-                                  "QML applications, such as interactive debugging and inspection tools. "
-                                  "It must be compiled for each used Qt version separately. "
-                                  "On the Qt4 options page, select the current Qt installation "
-                                  "and click Rebuild."));
-    dialog.exec();
-    if (dialog.clickedButton() == qtPref) {
-        Core::ICore::instance()->showOptionsDialog(
-                    QtSupport::Constants::QT_SETTINGS_CATEGORY,
-                    QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID);
-    }
-}
-
 } // namespace Internal
 } // namespace QmlProjectManager
diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h
index 02a22c972890662a4fb9e2cb707478350b55c01b..be612a0de5bd4db3e290df229db38095804e409a 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.h
@@ -82,7 +82,6 @@ public:
 
 private:
     ProjectExplorer::RunControl *createDebugRunControl(QmlProjectRunConfiguration *runConfig);
-    static void showQmlObserverToolWarning();
 };
 
 } // namespace Internal