diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 97648813d0171c64df5515382dfb3e1668f5ba84..91c2756d3157cfcb46849944776e0ed0b5d98bc8 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -120,7 +120,7 @@ MainWindow::MainWindow() :
     m_editorManager(0),
     m_fileManager(new FileManager(this)),
     m_progressManager(new ProgressManagerPrivate()),
-    m_scriptManager(new ScriptManagerPrivate(this, m_coreImpl)),
+    m_scriptManager(new ScriptManagerPrivate(this)),
     m_variableManager(new VariableManager(this)),
     m_vcsManager(new VCSManager()),
     m_viewManager(0),
diff --git a/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp b/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp
index 937af4f66a36ea9983970350ed7c4d330a263fa8..74f04c2a466025cddfcb34683ff0058dd8dc4cd4 100644
--- a/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp
+++ b/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp
@@ -181,10 +181,8 @@ static QScriptValue fileBox(QScriptContext *context, QScriptEngine *engine)
 namespace Core {
 namespace Internal {
 
-ScriptManagerPrivate::ScriptManagerPrivate(QObject *parent, ICore *core)  :
-    ScriptManager(parent),
-    m_core(core),
-    m_initialized(false)
+ScriptManagerPrivate::ScriptManagerPrivate(QObject *parent)
+   : ScriptManager(parent), m_initialized(false)
 {
 }
 
@@ -250,7 +248,6 @@ void ScriptManagerPrivate::ensureEngineInitialized()
 {
     if (m_initialized)
         return;
-    QTC_ASSERT(m_core, return);
     // register QObjects that occur as properties
     SharedTools::registerQObject<QMainWindow>(m_engine);
     SharedTools::registerQObject<QStatusBar>(m_engine);
@@ -274,7 +271,7 @@ void ScriptManagerPrivate::ensureEngineInitialized()
 //    SharedTools::registerQObjectInterface<Core::ICore, CorePrototype>(m_engine);
 
     // Make "core" available
-    m_engine.globalObject().setProperty(QLatin1String("core"), qScriptValueFromValue(&m_engine, m_core));
+    m_engine.globalObject().setProperty(QLatin1String("core"), qScriptValueFromValue(&m_engine, Core::ICore::instance()));
 
     // CLASSIC:  registerInterfaceWithDefaultPrototype<Core::MessageManager, MessageManagerPrototype>(m_engine);
 
diff --git a/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h b/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h
index e05778a832d84b68332b8491b4c2321ec808712c..b8acddf90d9b12d15e349e871aa8b7060e37b0df 100644
--- a/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h
+++ b/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h
@@ -37,13 +37,9 @@
 #include <coreplugin/scriptmanager/scriptmanager.h>
 
 #include <QtCore/QObject>
-#include <QtCore/QList>
 #include <QtScript/QScriptEngine>
 
 namespace Core {
-
-class ICore;
-
 namespace Internal {
 
 class ScriptManagerPrivate : public Core::ScriptManager
@@ -51,12 +47,11 @@ class ScriptManagerPrivate : public Core::ScriptManager
     Q_OBJECT
 
 public:
-    ScriptManagerPrivate(QObject *parent, ICore *core);
-
-    virtual QScriptEngine &scriptEngine();
+    explicit ScriptManagerPrivate(QObject *parent);
 
-    virtual bool runScript(const QString &script, QString *errorMessage, Stack *stack);
-    virtual bool runScript(const QString &script, QString *errorMessage);
+    QScriptEngine &scriptEngine();
+    bool runScript(const QString &script, QString *errorMessage, Stack *stack);
+    bool runScript(const QString &script, QString *errorMessage);
 
     static QString engineError(QScriptEngine &scriptEngine);
 
@@ -64,7 +59,6 @@ private:
     void ensureEngineInitialized();
 
     QScriptEngine m_engine;
-    ICore *m_core;
     bool m_initialized;
 };