diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index a882e5ebf932ab0455a410be51c24806c73cfd15..a59b8d06ba6827a158aac71e71467d1427f6c7c6 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -99,6 +99,9 @@ CMakeProject::CMakeProject(CMakeManager *manager, const QString &fileName)
       m_rootNode(new CMakeProjectNode(m_fileName)),
       m_lastEditor(0)
 {
+    setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT));
+    setProjectLanguage(Core::Context(ProjectExplorer::Constants::LANG_CXX));
+
     m_file = new CMakeFile(this, fileName);
 
     connect(this, SIGNAL(addedTarget(ProjectExplorer::Target*)),
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index 46946be0e4395d8caf92e533334aabec90e9ee3c..8b6f0d28eea70ded595e0dbba17ad8e81598edd1 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -63,9 +63,6 @@ using namespace CMakeProjectManager::Internal;
 CMakeManager::CMakeManager(CMakeSettingsPage *cmakeSettingsPage)
     : m_settingsPage(cmakeSettingsPage)
 {
-    m_projectContext = Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT);
-    m_projectLanguage = Core::Context(ProjectExplorer::Constants::LANG_CXX);
-
     ProjectExplorer::ProjectExplorerPlugin *projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
     connect(projectExplorer, SIGNAL(aboutToShowContextMenu(ProjectExplorer::Project*, ProjectExplorer::Node*)),
             this, SLOT(updateContextMenu(ProjectExplorer::Project*, ProjectExplorer::Node*)));
@@ -79,14 +76,16 @@ CMakeManager::CMakeManager(CMakeSettingsPage *cmakeSettingsPage)
     Core::ActionContainer *msubproject =
             am->actionContainer(ProjectExplorer::Constants::M_SUBPROJECTCONTEXT);
 
+    const Core::Context projectContext(CMakeProjectManager::Constants::PROJECTCONTEXT);
+
     m_runCMakeAction = new QAction(QIcon(), tr("Run CMake"), this);
-    Core::Command *command = am->registerAction(m_runCMakeAction, Constants::RUNCMAKE, m_projectContext);
+    Core::Command *command = am->registerAction(m_runCMakeAction, Constants::RUNCMAKE, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PROJECT);
     connect(m_runCMakeAction, SIGNAL(triggered()), this, SLOT(runCMake()));
 
     m_runCMakeActionContextMenu = new QAction(QIcon(), tr("Run CMake"), this);
-    command = am->registerAction(m_runCMakeActionContextMenu, Constants::RUNCMAKECONTEXTMENU, m_projectContext);
+    command = am->registerAction(m_runCMakeActionContextMenu, Constants::RUNCMAKECONTEXTMENU, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     mproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
@@ -133,16 +132,6 @@ void CMakeManager::runCMake(ProjectExplorer::Project *project)
     }
 }
 
-Core::Context CMakeManager::projectContext() const
-{
-    return m_projectContext;
-}
-
-Core::Context CMakeManager::projectLanguage() const
-{
-    return m_projectLanguage;
-}
-
 ProjectExplorer::Project *CMakeManager::openProject(const QString &fileName)
 {
     // TODO check whether this project is already opened
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
index 9b1919491d06e93658b6106acb8633f741e144c7..1f83d6782d7edc36904adf4cc08d287c28b3cf7a 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
@@ -66,9 +66,6 @@ class CMakeManager : public ProjectExplorer::IProjectManager
 public:
     CMakeManager(CMakeSettingsPage *cmakeSettingsPage);
 
-    virtual Core::Context projectContext() const;
-    virtual Core::Context projectLanguage() const;
-
     virtual ProjectExplorer::Project *openProject(const QString &fileName);
     virtual QString mimeType() const;
 
@@ -95,8 +92,6 @@ private:
     void runCMake(ProjectExplorer::Project *project);
     static QString qtVersionForQMake(const QString &qmakePath);
     static QPair<QString, QString> findQtDir(const Utils::Environment &env);
-    Core::Context m_projectContext;
-    Core::Context m_projectLanguage;
     CMakeSettingsPage *m_settingsPage;
     QAction *m_runCMakeAction;
     QAction *m_runCMakeActionContextMenu;
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index fc7d516aade295ed415a9dc094dfc627a1d777ff..b4e5b758e5cbe4f804c2e6a15072b596c64239dd 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -47,6 +47,7 @@
 #include <utils/pathchooser.h>
 #include <utils/qtcassert.h>
 #include <coreplugin/icore.h>
+#include <coreplugin/icontext.h>
 
 #include <QtCore/QDir>
 #include <QtCore/QProcessEnvironment>
@@ -72,6 +73,9 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
       m_fileName(fileName),
       m_toolChain(0)
 {
+    setProjectContext(Core::Context(GenericProjectManager::Constants::PROJECTCONTEXT));
+    setProjectLanguage(Core::Context(ProjectExplorer::Constants::LANG_CXX));
+
     QFileInfo fileInfo(m_fileName);
     QDir dir = fileInfo.dir();
 
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.cpp b/src/plugins/genericprojectmanager/genericprojectmanager.cpp
index bf4d03f0bfcfbc705f7219db8aa8c522d7e9f50c..b043e26a398b236c4d13cf1b90d1a84a36fec6db 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.cpp
@@ -46,20 +46,7 @@
 using namespace GenericProjectManager::Internal;
 
 Manager::Manager()
-{
-    m_projectContext  = Core::Context(GenericProjectManager::Constants::PROJECTCONTEXT);
-    m_projectLanguage = Core::Context(ProjectExplorer::Constants::LANG_CXX);
-}
-
-Core::Context Manager::projectContext() const
-{
-    return m_projectContext;
-}
-
-Core::Context Manager::projectLanguage() const
-{
-    return m_projectLanguage;
-}
+{ }
 
 QString Manager::mimeType() const
 {
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.h b/src/plugins/genericprojectmanager/genericprojectmanager.h
index 729aa6b49a10a1ea899cc51b0a666989cb912d94..1379ad4113a57a069aec28b39370ceae14c6c33d 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.h
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.h
@@ -35,7 +35,6 @@
 #define GENERICPROJECTMANAGER_H
 
 #include <projectexplorer/iprojectmanager.h>
-#include <coreplugin/icontext.h>
 
 namespace GenericProjectManager {
 namespace Internal {
@@ -49,9 +48,6 @@ class Manager : public ProjectExplorer::IProjectManager
 public:
     Manager();
 
-    virtual Core::Context projectContext() const;
-    virtual Core::Context projectLanguage() const;
-
     virtual QString mimeType() const;
     virtual ProjectExplorer::Project *openProject(const QString &fileName);
 
@@ -61,8 +57,6 @@ public:
     void unregisterProject(GenericProject *project);
 
 private:
-    Core::Context m_projectContext;
-    Core::Context m_projectLanguage;
     QList<GenericProject *> m_projects;
 };
 
diff --git a/src/plugins/projectexplorer/iprojectmanager.h b/src/plugins/projectexplorer/iprojectmanager.h
index b4f720de5bd5c0fae0212814c42f59501dc49b49..b3f480e7702f3a864b600f4bafe4636ae848daf5 100644
--- a/src/plugins/projectexplorer/iprojectmanager.h
+++ b/src/plugins/projectexplorer/iprojectmanager.h
@@ -53,9 +53,6 @@ class PROJECTEXPLORER_EXPORT IProjectManager
 public:
     IProjectManager() {}
 
-    virtual Core::Context projectContext() const = 0; //TODO move into project
-    virtual Core::Context projectLanguage() const = 0; //TODO move into project
-
     virtual QString mimeType() const = 0;
     virtual Project *openProject(const QString &fileName) = 0;
 };
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index f3a9e2a84eb4f84f66df149c03e54d29b2bb0138..e15b67e313618ebfeb1f6aafbace13ac9cf7c9d9 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -42,6 +42,7 @@
 #include "userfileaccessor.h"
 
 #include <coreplugin/ifile.h>
+#include <coreplugin/icontext.h>
 #include <extensionsystem/pluginmanager.h>
 #include <limits>
 #include <utils/qtcassert.h>
@@ -60,12 +61,15 @@ namespace ProjectExplorer {
 // Project
 // -------------------------------------------------------------------------
 
-class ProjectPrivate {
+class ProjectPrivate
+{
 public:
     ProjectPrivate();
     QList<Target *> m_targets;
     Target *m_activeTarget;
     EditorConfiguration *m_editorConfiguration;
+    Core::Context m_projectContext;
+    Core::Context m_projectLanguage;
 };
 
 ProjectPrivate::ProjectPrivate() :
@@ -301,4 +305,24 @@ QString Project::generatedUiHeader(const QString & /* formFile */) const
     return QString();
 }
 
+void Project::setProjectContext(Core::Context context)
+{
+    d->m_projectContext = context;
+}
+
+void Project::setProjectLanguage(Core::Context language)
+{
+    d->m_projectLanguage = language;
+}
+
+Core::Context Project::projectContext() const
+{
+    return d->m_projectContext;
+}
+
+Core::Context Project::projectLanguage() const
+{
+    return d->m_projectLanguage;
+}
+
 } // namespace ProjectExplorer
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 9823e2e3e53108a4a843d2339486a98f15e86f63..fc3b3c8502799a18e465cd1569c77cda54732894 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -42,6 +42,7 @@
 
 namespace Core {
 class IFile;
+class Context;
 }
 
 namespace ProjectExplorer {
@@ -51,7 +52,6 @@ class IProjectManager;
 class EditorConfiguration;
 class ProjectNode;
 class Target;
-class ITargetFactory;
 class ProjectPrivate;
 
 class PROJECTEXPLORER_EXPORT Project
@@ -119,6 +119,9 @@ public:
     QString projectDirectory() const;
     static QString projectDirectory(const QString &proFile);
 
+    virtual Core::Context projectContext() const;
+    virtual Core::Context projectLanguage() const;
+
 signals:
     void fileListChanged();
 
@@ -145,6 +148,9 @@ protected:
     // Note: Do not forget to call your base class' fromMap method!
     virtual bool fromMap(const QVariantMap &map);
 
+    virtual void setProjectContext(Core::Context context);
+    virtual void setProjectLanguage(Core::Context language);
+
 private slots:
     void changeEnvironment();
     void changeBuildConfigurationEnabled();
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 20c269128eedfcf670472b95956f44a32e2476df..6c923a2cefcacfaf9c186fc2d1aa83042e7007e7 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1502,12 +1502,12 @@ void ProjectExplorerPlugin::setCurrent(Project *project, QString filePath, Node
         Core::Context newContext;
 
         if (d->m_currentProject) {
-            oldContext.add(d->m_currentProject->projectManager()->projectContext());
-            oldContext.add(d->m_currentProject->projectManager()->projectLanguage());
+            oldContext.add(d->m_currentProject->projectContext());
+            oldContext.add(d->m_currentProject->projectLanguage());
         }
         if (project) {
-            newContext.add(project->projectManager()->projectContext());
-            newContext.add(project->projectManager()->projectLanguage());
+            newContext.add(project->projectContext());
+            newContext.add(project->projectLanguage());
         }
 
         core->updateAdditionalContexts(oldContext, newContext);
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index ac49825e60af5a8bdfa1cb1bda8ffc7f02f5fe71..264ff05e9c3a8715769f50cfc37715e618d4501c 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -37,6 +37,7 @@
 #include "fileformat/qmlprojectitem.h"
 #include "qmlprojectrunconfiguration.h"
 #include "qmlprojecttarget.h"
+#include "qmlprojectconstants.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/messagemanager.h>
@@ -58,6 +59,9 @@ QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
       m_modelManager(ExtensionSystem::PluginManager::instance()->getObject<QmlJS::ModelManagerInterface>()),
       m_fileWatcher(new ProjectExplorer::FileWatcher(this))
 {
+    setProjectContext(Core::Context(QmlProjectManager::Constants::PROJECTCONTEXT));
+    setProjectLanguage(Core::Context(QmlProjectManager::Constants::LANG_QML));
+
     QFileInfo fileInfo(m_fileName);
     m_projectName = fileInfo.completeBaseName();
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
index 38d35629cbe5d7185e655e07f21e7b38c88cc8a6..775a052ec9da21b640badb8e5fb4c3c84cf9f320 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
@@ -49,19 +49,8 @@ namespace Internal {
 
 Manager::Manager()
 {
-    m_projectContext  = Core::Context(QmlProjectManager::Constants::PROJECTCONTEXT);
-    m_projectLanguage = Core::Context(QmlProjectManager::Constants::LANG_QML);
 }
 
-Manager::~Manager()
-{ }
-
-Core::Context Manager::projectContext() const
-{ return m_projectContext; }
-
-Core::Context Manager::projectLanguage() const
-{ return m_projectLanguage; }
-
 QString Manager::mimeType() const
 { return QLatin1String(Constants::QMLMIMETYPE); }
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.h b/src/plugins/qmlprojectmanager/qmlprojectmanager.h
index 45891f8ffcd2ff6682c933820a607cdafaf29148..a5fd26b9ce8743ec5e3ce69bc4add98feb01a9e4 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.h
@@ -49,10 +49,6 @@ class Manager: public ProjectExplorer::IProjectManager
 
 public:
     Manager();
-    virtual ~Manager();
-
-    virtual Core::Context projectContext() const;
-    virtual Core::Context projectLanguage() const;
 
     virtual QString mimeType() const;
     virtual ProjectExplorer::Project *openProject(const QString &fileName);
@@ -63,8 +59,6 @@ public:
     void unregisterProject(QmlProject *project);
 
 private:
-    Core::Context m_projectContext;
-    Core::Context m_projectLanguage;
     QList<QmlProject *> m_projects;
 };
 
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index a11dde4902b82980afc38671b18c2aca4b7fd3c6..0dc8d390ad81ea2574de3d6838c50d7b5a00e2d2 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -46,6 +46,7 @@
 #include "qmldumptool.h"
 
 #include <coreplugin/icore.h>
+#include <coreplugin/icontext.h>
 #include <coreplugin/messagemanager.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/progressmanager/progressmanager.h>
@@ -57,6 +58,7 @@
 #include <projectexplorer/buildenvironmentwidget.h>
 #include <projectexplorer/customexecutablerunconfiguration.h>
 #include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectexplorerconstants.h>
 #include <utils/qtcassert.h>
 
 #include <QtCore/QDebug>
@@ -261,6 +263,9 @@ Qt4Project::Qt4Project(Qt4Manager *manager, const QString& fileName) :
     m_asyncUpdateState(NoState),
     m_cancelEvaluate(false)
 {
+    setProjectContext(Core::Context(Qt4ProjectManager::Constants::PROJECT_ID));
+    setProjectLanguage(Core::Context(ProjectExplorer::Constants::LANG_CXX));
+
     m_asyncUpdateTimer.setSingleShot(true);
     m_asyncUpdateTimer.setInterval(3000);
     connect(&m_asyncUpdateTimer, SIGNAL(timeout()), this, SLOT(asyncUpdate()));
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
index af50c07f718dd94b33ddce5356c6d31d00575eaf..88b108e2f7dc519acc2af7b6c1ea7cbac90a6d86 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
@@ -203,16 +203,6 @@ void Qt4Manager::uiEditorContentsChanged()
         m_dirty = true;
 }
 
-Core::Context Qt4Manager::projectContext() const
-{
-     return m_plugin->projectContext();
-}
-
-Core::Context Qt4Manager::projectLanguage() const
-{
-    return Core::Context(ProjectExplorer::Constants::LANG_CXX);
-}
-
 QString Qt4Manager::mimeType() const
 {
     return QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE);
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.h b/src/plugins/qt4projectmanager/qt4projectmanager.h
index 28a99547e8847a89f13b6fc9f4d4f2289ed1cd40..d77b44f321a97e2f9877c989ad8a68d52b50bfa2 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.h
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.h
@@ -78,10 +78,6 @@ public:
 
     ProjectExplorer::ProjectExplorerPlugin *projectExplorer() const;
 
-    // ProjectExplorer::IProjectManager
-    Core::Context projectContext() const;
-    Core::Context projectLanguage() const;
-
     virtual QString mimeType() const;
     ProjectExplorer::Project *openProject(const QString &fileName);
 
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
index a4913f82d4ac346c8b9729ea01921d60cf5bd3b6..90ab08846303b952db8b36c68a0ff85064f8f20e 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
@@ -108,7 +108,7 @@ Qt4ProjectManagerPlugin::~Qt4ProjectManagerPlugin()
 bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *errorMessage)
 {
     Q_UNUSED(arguments)
-    m_projectContext = Core::Context(Qt4ProjectManager::Constants::PROJECT_ID);
+    const Core::Context projectContext(Qt4ProjectManager::Constants::PROJECT_ID);
 
     ProFileParser::initialize();
     ProFileEvaluator::initialize();
@@ -199,13 +199,13 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
     QIcon qmakeIcon(QLatin1String(":/qt4projectmanager/images/run_qmake.png"));
     qmakeIcon.addFile(QLatin1String(":/qt4projectmanager/images/run_qmake_small.png"));
     m_runQMakeAction = new QAction(qmakeIcon, tr("Run qmake"), this);
-    command = am->registerAction(m_runQMakeAction, Constants::RUNQMAKE, m_projectContext);
+    command = am->registerAction(m_runQMakeAction, Constants::RUNQMAKE, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PROJECT);
     connect(m_runQMakeAction, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(runQMake()));
 
     m_runQMakeActionContextMenu = new QAction(qmakeIcon, tr("Run qmake"), this);
-    command = am->registerAction(m_runQMakeActionContextMenu, Constants::RUNQMAKECONTEXTMENU, m_projectContext);
+    command = am->registerAction(m_runQMakeActionContextMenu, Constants::RUNQMAKECONTEXTMENU, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     mproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
@@ -214,7 +214,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
     QIcon buildIcon(ProjectExplorer::Constants::ICON_BUILD);
     buildIcon.addFile(ProjectExplorer::Constants::ICON_BUILD_SMALL);
     m_buildSubProjectContextMenu = new QAction(buildIcon, tr("Build"), this);
-    command = am->registerAction(m_buildSubProjectContextMenu, Constants::BUILDSUBDIR, m_projectContext);
+    command = am->registerAction(m_buildSubProjectContextMenu, Constants::BUILDSUBDIR, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     connect(m_buildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(buildSubDirContextMenu()));
@@ -222,7 +222,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
     QIcon rebuildIcon(ProjectExplorer::Constants::ICON_REBUILD);
     rebuildIcon.addFile(ProjectExplorer::Constants::ICON_REBUILD_SMALL);
     m_rebuildSubProjectContextMenu = new QAction(rebuildIcon, tr("Rebuild"), this);
-    command = am->registerAction(m_rebuildSubProjectContextMenu, Constants::REBUILDSUBDIR, m_projectContext);
+    command = am->registerAction(m_rebuildSubProjectContextMenu, Constants::REBUILDSUBDIR, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     connect(m_rebuildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(rebuildSubDirContextMenu()));
@@ -230,7 +230,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
     QIcon cleanIcon(ProjectExplorer::Constants::ICON_CLEAN);
     cleanIcon.addFile(ProjectExplorer::Constants::ICON_CLEAN_SMALL);
     m_cleanSubProjectContextMenu = new QAction(cleanIcon, tr("Clean"), this);
-    command = am->registerAction(m_cleanSubProjectContextMenu, Constants::CLEANSUBDIR, m_projectContext);
+    command = am->registerAction(m_cleanSubProjectContextMenu, Constants::CLEANSUBDIR, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     connect(m_cleanSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(cleanSubDirContextMenu()));
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h
index e45cc356a885e20b9c099212b5934d4e7f41a205..40d42521425e065c84a2a20eb555abf229e052ce 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h
@@ -65,8 +65,6 @@ public:
     bool initialize(const QStringList &arguments, QString *error_message);
     void extensionsInitialized();
 
-    Core::Context projectContext() const { return m_projectContext; }
-
 private slots:
     void updateContextMenu(ProjectExplorer::Project *project,
                            ProjectExplorer::Node *node);