diff --git a/src/plugins/qmljseditor/qmljseditor.pro b/src/plugins/qmljseditor/qmljseditor.pro
index e35f6e40e303b73b76e39c677b02be38b41b89f0..e2de54e54cb14babe755855642f2673db58820f5 100644
--- a/src/plugins/qmljseditor/qmljseditor.pro
+++ b/src/plugins/qmljseditor/qmljseditor.pro
@@ -25,7 +25,8 @@ HEADERS += \
     qmljsrefactoringchanges.h \
     qmljscomponentfromobjectdef.h \
     qmljsoutline.h \
-    qmloutlinemodel.h
+    qmloutlinemodel.h \
+    qmltaskmanager.h
 
 SOURCES += \
     qmljscodecompletion.cpp \
@@ -43,7 +44,8 @@ SOURCES += \
     qmljsrefactoringchanges.cpp \
     qmljscomponentfromobjectdef.cpp \
     qmljsoutline.cpp \
-    qmloutlinemodel.cpp
+    qmloutlinemodel.cpp \
+    qmltaskmanager.cpp
 
 RESOURCES += qmljseditor.qrc
 OTHER_FILES += QmlJSEditor.pluginspec QmlJSEditor.mimetypes.xml
diff --git a/src/plugins/qmljseditor/qmljseditorconstants.h b/src/plugins/qmljseditor/qmljseditorconstants.h
index 0db49ad417fcc5042c1c9b4c7a02bdb3c9640908..f3df94ff8c67fbf61116d79899b3a1814e0117fc 100644
--- a/src/plugins/qmljseditor/qmljseditorconstants.h
+++ b/src/plugins/qmljseditor/qmljseditorconstants.h
@@ -49,7 +49,7 @@ const char * const FOLLOW_SYMBOL_UNDER_CURSOR = "QmlJSEditor.FollowSymbolUnderCu
 const char * const QML_MIMETYPE = "application/x-qml";
 const char * const JS_MIMETYPE = "application/javascript";
 
-
+const char *const TASK_CATEGORY_QML = "Task.Category.Qml";
 
 } // namespace Constants
 } // namespace QmlJSEditor
diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp
index 944d34ae4cee24504091bdda71a42a35e10d4030..f67dd204fe7593076d9f7ff7e71f3305379a7eca 100644
--- a/src/plugins/qmljseditor/qmljseditorplugin.cpp
+++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp
@@ -40,6 +40,7 @@
 #include "qmljspreviewrunner.h"
 #include "qmljsquickfix.h"
 #include "qmljs/qmljsicons.h"
+#include "qmltaskmanager.h"
 
 #include <qmldesigner/qmldesignerconstants.h>
 
@@ -52,6 +53,7 @@
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/actionmanager/command.h>
 #include <coreplugin/editormanager/editormanager.h>
+#include <projectexplorer/taskhub.h>
 #include <extensionsystem/pluginmanager.h>
 #include <texteditor/fontsettings.h>
 #include <texteditor/storagesettings.h>
@@ -180,11 +182,22 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e
 
     addAutoReleasedObject(new QmlJSOutlineWidgetFactory);
 
+    m_qmlTaskManager = new QmlTaskManager;
+    addAutoReleasedObject(m_qmlTaskManager);
+
+    connect(m_modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
+            m_qmlTaskManager, SLOT(documentChangedOnDisk(QmlJS::Document::Ptr)));
+    connect(m_modelManager, SIGNAL(aboutToRemoveFiles(QStringList)),
+            m_qmlTaskManager, SLOT(documentsRemoved(QStringList)));
+
     return true;
 }
 
 void QmlJSEditorPlugin::extensionsInitialized()
 {
+    ProjectExplorer::TaskHub *taskHub =
+        ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::TaskHub>();
+    taskHub->addCategory(Constants::TASK_CATEGORY_QML, tr("QML"));
 }
 
 ExtensionSystem::IPlugin::ShutdownFlag QmlJSEditorPlugin::aboutToShutdown()
diff --git a/src/plugins/qmljseditor/qmljseditorplugin.h b/src/plugins/qmljseditor/qmljseditorplugin.h
index 9fa7ba4a97e916bd6d8290d6517a5b784f0a699c..fb19f78afd48a19f2e67d9945150c0c7c8162b7a 100644
--- a/src/plugins/qmljseditor/qmljseditorplugin.h
+++ b/src/plugins/qmljseditor/qmljseditorplugin.h
@@ -65,6 +65,7 @@ class QmlJSEditorFactory;
 class QmlJSTextEditor;
 class QmlJSPreviewRunner;
 class QmlJSQuickFixCollector;
+class QmlTaskManager;
 
 class QmlJSEditorPlugin : public ExtensionSystem::IPlugin
 {
@@ -112,6 +113,7 @@ private:
 
     QTimer *m_quickFixTimer;
     QPointer<TextEditor::ITextEditable> m_currentTextEditable;
+    QmlTaskManager *m_qmlTaskManager;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qmlprojectmanager/qmltaskmanager.cpp b/src/plugins/qmljseditor/qmltaskmanager.cpp
similarity index 91%
rename from src/plugins/qmlprojectmanager/qmltaskmanager.cpp
rename to src/plugins/qmljseditor/qmltaskmanager.cpp
index fc8905f2b81805faac869da50468b7f4a642923d..30cd0a9dbe2989858a74c011da400fa5b6a50b9f 100644
--- a/src/plugins/qmlprojectmanager/qmltaskmanager.cpp
+++ b/src/plugins/qmljseditor/qmltaskmanager.cpp
@@ -28,14 +28,15 @@
 **************************************************************************/
 
 #include "qmltaskmanager.h"
-#include "qmlprojectconstants.h"
+#include "qmljseditorconstants.h"
 
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/taskhub.h>
+#include <qmljs/qmljsmodelmanagerinterface.h>
 
 #include <QDebug>
 
-namespace QmlProjectManager {
+namespace QmlJSEditor {
 namespace Internal {
 
 QmlTaskManager::QmlTaskManager(QObject *parent) :
@@ -45,12 +46,6 @@ QmlTaskManager::QmlTaskManager(QObject *parent) :
     m_taskHub = ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::TaskHub>();
 }
 
-QmlTaskManager *QmlTaskManager::instance()
-{
-    ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    return pluginManager->getObject<QmlTaskManager>();
-}
-
 void QmlTaskManager::documentChangedOnDisk(QmlJS::Document::Ptr doc)
 {
     const QString fileName = doc->fileName();
diff --git a/src/plugins/qmlprojectmanager/qmltaskmanager.h b/src/plugins/qmljseditor/qmltaskmanager.h
similarity index 95%
rename from src/plugins/qmlprojectmanager/qmltaskmanager.h
rename to src/plugins/qmljseditor/qmltaskmanager.h
index 74e9d0a313f3858743e6b3fffc4bdbe62cb9d8dd..18ccc828c69e6106bc7366a6778289b60a2857ab 100644
--- a/src/plugins/qmlprojectmanager/qmltaskmanager.h
+++ b/src/plugins/qmljseditor/qmltaskmanager.h
@@ -42,7 +42,7 @@ namespace ProjectExplorer {
 class TaskHub;
 } // namespace ProjectExplorer
 
-namespace QmlProjectManager {
+namespace QmlJSEditor {
 namespace Internal {
 
 class QmlTaskManager : public QObject
@@ -51,7 +51,7 @@ class QmlTaskManager : public QObject
 public:
     QmlTaskManager(QObject *parent = 0);
 
-    static QmlTaskManager *instance();
+    void extensionsInitialized();
 
 public slots:
     void documentChangedOnDisk(QmlJS::Document::Ptr doc);
@@ -67,6 +67,6 @@ private:
 };
 
 } // Internal
-} // QmlProjectManager
+} // QmlJSEditor
 
 #endif // QMLTASKMANAGER_H
diff --git a/src/plugins/qmlprojectmanager/qmlprojectconstants.h b/src/plugins/qmlprojectmanager/qmlprojectconstants.h
index 1fd04264a0f9be2a570cb2751a3898ddbdfc3aac..3cd4d9c7e0971dbb56cfa71bb417b69ef607a9d1 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectconstants.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectconstants.h
@@ -47,8 +47,6 @@ const char *const FILES_EDITOR_ID    = "Qt4.QmlProjectEditor";
 const char *const FILES_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("OpenWith::Editors", ".qmlproject Editor");
 const char *const FILES_MIMETYPE     = QMLMIMETYPE;
 
-const char *const TASK_CATEGORY_QML = "Task.Category.Qml";
-
 // Wizard category
 const char * const QML_WIZARD_CATEGORY = "F.Projects"; // (after Qt)
 const char * const QML_WIZARD_TR_SCOPE = "QmlProjectManager";
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
index 683bc64f89f6088e3c0c6814082628bcfbe8b5b0..8a810319a66c947a5282cf6afc7856057bc9c374 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
@@ -30,7 +30,6 @@
 #include "qmlprojectmanager.h"
 #include "qmlprojectconstants.h"
 #include "qmlproject.h"
-#include "qmltaskmanager.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/ifile.h>
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.pro b/src/plugins/qmlprojectmanager/qmlprojectmanager.pro
index 3fca4d496c27e7ace933521ec134312a8fc91b8a..d97c600458e6471ffd53e496b51a770d005d627a 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.pro
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.pro
@@ -19,7 +19,6 @@ HEADERS += qmlproject.h \
     qmlprojectrunconfiguration.h \
     qmlprojectrunconfigurationfactory.h \
     qmlprojectapplicationwizard.h \
-    qmltaskmanager.h \
     qmlprojectmanager_global.h \
     qmlprojectmanagerconstants.h \
     qmlprojecttarget.h
@@ -33,7 +32,6 @@ SOURCES += qmlproject.cpp \
     qmlprojectrunconfiguration.cpp \
     qmlprojectrunconfigurationfactory.cpp \
     qmlprojectapplicationwizard.cpp \
-    qmltaskmanager.cpp \
     qmlprojecttarget.cpp
 RESOURCES += qmlproject.qrc
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 44229263ce0ab9ad91836245509de7aab0b5761b..622f594079cc38adba3721079cc95b7577cc77e0 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -35,7 +35,6 @@
 #include "qmlproject.h"
 #include "qmlprojectrunconfigurationfactory.h"
 #include "qmlprojectruncontrol.h"
-#include "qmltaskmanager.h"
 #include "fileformat/qmlprojectfileformat.h"
 
 #include <extensionsystem/pluginmanager.h>
@@ -47,15 +46,13 @@
 #include <texteditor/texteditoractionhandler.h>
 
 #include <projectexplorer/taskhub.h>
-#include <qmljs/qmljsmodelmanagerinterface.h>
 
 #include <QtCore/QtPlugin>
 
 namespace QmlProjectManager {
 namespace Internal {
 
-QmlProjectPlugin::QmlProjectPlugin() :
-        m_qmlTaskManager(0)
+QmlProjectPlugin::QmlProjectPlugin()
 { }
 
 QmlProjectPlugin::~QmlProjectPlugin()
@@ -76,9 +73,6 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage)
 
     Manager *manager = new Manager;
 
-    m_qmlTaskManager = new QmlTaskManager(this);
-    addAutoReleasedObject(m_qmlTaskManager);
-
     addAutoReleasedObject(manager);
     addAutoReleasedObject(new Internal::QmlProjectRunConfigurationFactory);
     addAutoReleasedObject(new Internal::QmlRunControlFactory);
@@ -94,16 +88,6 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage)
 
 void QmlProjectPlugin::extensionsInitialized()
 {
-    ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    ProjectExplorer::TaskHub *taskHub = pluginManager->getObject<ProjectExplorer::TaskHub>();
-    taskHub->addCategory(Constants::TASK_CATEGORY_QML, tr("QML"));
-
-    QmlJS::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJS::ModelManagerInterface>();
-    Q_ASSERT(modelManager);
-    connect(modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
-            m_qmlTaskManager, SLOT(documentChangedOnDisk(QmlJS::Document::Ptr)));
-    connect(modelManager, SIGNAL(aboutToRemoveFiles(QStringList)),
-            m_qmlTaskManager, SLOT(documentsRemoved(QStringList)));
 }
 
 } // namespace Internal
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
index 140a16f2c595f6ac6fb4e52af7aa02adf156a132..7fb905d8204d276b2c51573bcf179690701b4855 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
@@ -38,7 +38,6 @@ namespace QmlProjectManager {
 namespace Internal {
 
 class ProjectFilesFactory;
-class QmlTaskManager;
 
 class QmlProjectPlugin: public ExtensionSystem::IPlugin
 {
@@ -50,9 +49,6 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorString);
     virtual void extensionsInitialized();
-
-private:
-    QmlTaskManager *m_qmlTaskManager;
 };
 
 } // namespace Internal