diff --git a/src/libs/extensionsystem/iplugin.cpp b/src/libs/extensionsystem/iplugin.cpp
index 50bb54d2d43727ead55a358f7e0b1f5236121a71..57fc9d9e86bd96a09f3330768e11995b1d06b45b 100644
--- a/src/libs/extensionsystem/iplugin.cpp
+++ b/src/libs/extensionsystem/iplugin.cpp
@@ -240,7 +240,7 @@
 */
 
 /*!
-    \fn void IPlugin::shutdown()
+    \fn void IPlugin::aboutToShutdown()
     Called during a shutdown sequence in the same order as initialization
     before the plugins get deleted in reverse order.
     This method can be used to optimize the shutdown down, e.g. to
diff --git a/src/libs/extensionsystem/iplugin.h b/src/libs/extensionsystem/iplugin.h
index 6eb550f0545cd9c4246e0eb141f505afb3ee36a5..889daecd7368bea5aa9cd495fa2c3fd65ffb5e8f 100644
--- a/src/libs/extensionsystem/iplugin.h
+++ b/src/libs/extensionsystem/iplugin.h
@@ -54,7 +54,7 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorString) = 0;
     virtual void extensionsInitialized() = 0;
-    virtual void shutdown() { }
+    virtual void aboutToShutdown() { }
     virtual void remoteCommand(const QStringList & /* options */, const QStringList & /* arguments */) { }
 
     PluginSpec *pluginSpec() const;
diff --git a/src/libs/extensionsystem/pluginspec.cpp b/src/libs/extensionsystem/pluginspec.cpp
index ce4f95b6dd1432b1d9aea784e7633901251e3fdf..e39c6df5c3dd895ae895d64ce4a4a75c9630cf83 100644
--- a/src/libs/extensionsystem/pluginspec.cpp
+++ b/src/libs/extensionsystem/pluginspec.cpp
@@ -119,7 +119,7 @@
             extensionsInitialized has been called. The loading process is
             complete.
     \value Stopped
-            The plugin has been shut down, i.e. the plugin's IPlugin::shutdown() method has been called.
+            The plugin has been shut down, i.e. the plugin's IPlugin::aboutToShutdown() method has been called.
     \value Deleted
             The plugin instance has been deleted.
 */
@@ -959,7 +959,7 @@ void PluginSpecPrivate::stop()
 {
     if (!plugin)
         return;
-    plugin->shutdown();
+    plugin->aboutToShutdown();
     state = PluginSpec::Stopped;
 }
 
diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp
index c28888d8b8973315767ee872fbf0417fb4d49a8e..8e0107ed4067722b22527b9ceb3954724fa7b948 100644
--- a/src/plugins/coreplugin/coreplugin.cpp
+++ b/src/plugins/coreplugin/coreplugin.cpp
@@ -110,9 +110,9 @@ void CorePlugin::fileOpenRequest(const QString &f)
     remoteCommand(QStringList(), QStringList(f));
 }
 
-void CorePlugin::shutdown()
+void CorePlugin::aboutToShutdown()
 {
-    m_mainWindow->shutdown();
+    m_mainWindow->aboutToShutdown();
     Ne7SshObject::removeInstance();
 }
 
diff --git a/src/plugins/coreplugin/coreplugin.h b/src/plugins/coreplugin/coreplugin.h
index 8f52966ef3175c18728ca45e39f660f1270b8ba1..bd602550478e49e9c83776b7c3cd028936ec0075 100644
--- a/src/plugins/coreplugin/coreplugin.h
+++ b/src/plugins/coreplugin/coreplugin.h
@@ -49,7 +49,7 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorMessage = 0);
     virtual void extensionsInitialized();
-    virtual void shutdown();
+    virtual void aboutToShutdown();
     virtual void remoteCommand(const QStringList & /* options */, const QStringList &args);
 
 public slots:
diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp
index 11675779c2e592dfb1d00b14691d1da75bd3d627..c1f85bc44cd639b501b80a15b2b90aeef3465d67 100644
--- a/src/plugins/coreplugin/icore.cpp
+++ b/src/plugins/coreplugin/icore.cpp
@@ -341,7 +341,7 @@
 
     The application is guaranteed to shut down after this signal is emitted.
     It's there as an addition to the usual plugin lifecycle methods, namely
-    IPlugin::shutdown(), just for convenience.
+    IPlugin::aboutToShutdown(), just for convenience.
 */
 
 /*!
diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 72d1da273e3e19ecf99b822a2ceb0d50267f9836..05f189127f0831470a5371956cc56d3eead296a6 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -1111,7 +1111,7 @@ void MainWindow::resetContext()
     updateContextObject(0);
 }
 
-void MainWindow::shutdown()
+void MainWindow::aboutToShutdown()
 {
     disconnect(QApplication::instance(), SIGNAL(focusChanged(QWidget*,QWidget*)),
                this, SLOT(updateFocusWidget(QWidget*,QWidget*)));
diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h
index b872baaeccd4355def64526dae5004fa66feead6..1c9b53eba54d2e0485aafdda8906fa2b276e3874 100644
--- a/src/plugins/coreplugin/mainwindow.h
+++ b/src/plugins/coreplugin/mainwindow.h
@@ -88,7 +88,7 @@ public:
 
     bool init(QString *errorMessage);
     void extensionsInitialized();
-    void shutdown();
+    void aboutToShutdown();
 
     IContext *contextObject(QWidget *widget);
     void addContextObject(IContext *contex);
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index 71b3e6af482f41ad3f30179c99408928fcd59fc0..47cbf0091bbdd747ffb384e14f63aaa765171dbe 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -146,7 +146,7 @@ void CodepasterPlugin::extensionsInitialized()
 {
 }
 
-void CodepasterPlugin::shutdown()
+void CodepasterPlugin::aboutToShutdown()
 {
     // Delete temporary, fetched files
     foreach(const QString &fetchedSnippet, m_fetchedSnippets) {
diff --git a/src/plugins/cpaster/cpasterplugin.h b/src/plugins/cpaster/cpasterplugin.h
index 6278cd1473ed9720dcaadb3c140876dfd447d4e5..b75158b0c9a015d3cc2dada965a63819de5fcdc8 100644
--- a/src/plugins/cpaster/cpasterplugin.h
+++ b/src/plugins/cpaster/cpasterplugin.h
@@ -55,7 +55,7 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *error_message);
     virtual void extensionsInitialized();
-    virtual void shutdown();
+    virtual void aboutToShutdown();
 
 public slots:
     void postEditor();
diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp
index 8cda27b2f31f4b08ed3828901a92b536bd3f0002..da9c11ed30e6e0730a9037e5f4762fdf1b81e18e 100644
--- a/src/plugins/cppeditor/cppplugin.cpp
+++ b/src/plugins/cppeditor/cppplugin.cpp
@@ -318,7 +318,7 @@ void CppPlugin::extensionsInitialized()
 {
 }
 
-void CppPlugin::shutdown()
+void CppPlugin::aboutToShutdown()
 {
     writeSettings();
 }
diff --git a/src/plugins/cppeditor/cppplugin.h b/src/plugins/cppeditor/cppplugin.h
index 8d47b83660756ebd084ead429529cd3851eb5c1f..9d7527d3ef4c3f4703e53b3311cc4bc0be92de4b 100644
--- a/src/plugins/cppeditor/cppplugin.h
+++ b/src/plugins/cppeditor/cppplugin.h
@@ -60,7 +60,7 @@ public:
 
     bool initialize(const QStringList &arguments, QString *error_message = 0);
     void extensionsInitialized();
-    void shutdown();
+    void aboutToShutdown();
 
     // Connect editor to settings changed signals.
     void initializeEditor(CPPEditor *editor);
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index fd6b4cd1d2d64d5352ad6f1c7f865712206ad1d1..19f986a8b98b0c17de2758eb2f8a46b5e57d627f 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -168,7 +168,7 @@ void CppToolsPlugin::extensionsInitialized()
     m_modelManager->setHeaderSuffixes(mimeType.suffixes());
 }
 
-void CppToolsPlugin::shutdown()
+void CppToolsPlugin::aboutToShutdown()
 {
     // Save settings
     QSettings *settings = Core::ICore::instance()->settings();
diff --git a/src/plugins/cpptools/cpptoolsplugin.h b/src/plugins/cpptools/cpptoolsplugin.h
index 8fffa19a2a965fb7186dc99a71004eb53c2b8ea4..c5b82982ca3ab1417dc4722453672213ffe57d6e 100644
--- a/src/plugins/cpptools/cpptoolsplugin.h
+++ b/src/plugins/cpptools/cpptoolsplugin.h
@@ -66,7 +66,7 @@ public:
 
     bool initialize(const QStringList &arguments, QString *error_message);
     void extensionsInitialized();
-    void shutdown();
+    void aboutToShutdown();
     CppModelManager *cppModelManager() { return m_modelManager; }
     QString correspondingHeaderOrSource(const QString &fileName) const;
 
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 3e2830e679fef24b0b9106b15e445865d3492d75..1a646f5a66b5f553205c09fa9a48b663b2e536b8 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -854,7 +854,7 @@ void DebuggerManager::showApplicationOutput(const QString &str, bool onStdErr)
      emit applicationOutputAvailable(str, onStdErr);
 }
 
-void DebuggerManager::shutdown()
+void DebuggerManager::aboutToShutdown()
 {
     STATE_DEBUG(d->m_engine);
     if (d->m_engine)
diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h
index ae2dcb6f9a80ca790ccabe093fed189e78edbdf5..67480dd9214fa37df411656e1af1080a48d5a954 100644
--- a/src/plugins/debugger/debuggermanager.h
+++ b/src/plugins/debugger/debuggermanager.h
@@ -344,7 +344,7 @@ private:
     void runTest(const QString &fileName);
     Q_SLOT void createNewDock(QWidget *widget);
 
-    void shutdown();
+    void aboutToShutdown();
 
     void toggleBreakpoint(const QString &fileName, int lineNumber);
     Internal::BreakpointData *findBreakpoint(const QString &fileName, int lineNumber);
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 603349c76d6b3b301664c514ec3699edc119007d..530eca53e4e36af8a2136aff1b837421b90ed37c 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -565,16 +565,16 @@ DebuggerPlugin::~DebuggerPlugin()
     m_uiSwitcher = 0;
 }
 
-void DebuggerPlugin::shutdown()
+void DebuggerPlugin::aboutToShutdown()
 {
     QTC_ASSERT(m_manager, /**/);
     if (m_manager)
-        m_manager->shutdown();
+        m_manager->aboutToShutdown();
 
     writeSettings();
 
     if (m_uiSwitcher)
-        m_uiSwitcher->shutdown();
+        m_uiSwitcher->aboutToShutdown();
 }
 
 static QString msgParameterMissing(const QString &a)
diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h
index 56b8457b250c332cb877f1a64bac70e44251c8d1..bb53708f63c81a82f22f1f8c1429ca67f2c42495 100644
--- a/src/plugins/debugger/debuggerplugin.h
+++ b/src/plugins/debugger/debuggerplugin.h
@@ -83,7 +83,7 @@ public:
 
 private:
     virtual bool initialize(const QStringList &arguments, QString *error_message);
-    virtual void shutdown();
+    virtual void aboutToShutdown();
     virtual void extensionsInitialized();
     virtual void remoteCommand(const QStringList &options, const QStringList &arguments);
 
diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp
index 695e3d30835ba9271bf9f7429a79cb2fb15db83f..a7db1101a7ac0215d623d899ee6527340d21e160 100644
--- a/src/plugins/debugger/debuggeruiswitcher.cpp
+++ b/src/plugins/debugger/debuggeruiswitcher.cpp
@@ -421,7 +421,7 @@ QWidget *DebuggerUISwitcher::createContents(Core::BaseMode *mode)
     return splitter;
 }
 
-void DebuggerUISwitcher::shutdown()
+void DebuggerUISwitcher::aboutToShutdown()
 {
     writeSettings();
 }
diff --git a/src/plugins/debugger/debuggeruiswitcher.h b/src/plugins/debugger/debuggeruiswitcher.h
index 75390ea425f77e59b24ea0a0b143ba9176cb6725..52a4e1cb3a533522cf4a82c54ef2895cf06dbc1f 100644
--- a/src/plugins/debugger/debuggeruiswitcher.h
+++ b/src/plugins/debugger/debuggeruiswitcher.h
@@ -85,7 +85,7 @@ public:
     // called when all dependent plugins have loaded
     void initialize();
 
-    void shutdown();
+    void aboutToShutdown();
 
     // dockwidgets are registered to the main window
     QDockWidget *createDockWidget(const QString &langName, QWidget *widget,
diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index e0d9fc43cbf81eddda167500dd28965d11f54e99..5439181bd3f2f66878fc04d0e9ea517bc9199b25 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -480,7 +480,7 @@ public:
     friend class FakeVimPlugin;
 
     bool initialize();
-    void shutdown();
+    void aboutToShutdown();
 
 private slots:
     void editorOpened(Core::IEditor *);
@@ -560,7 +560,7 @@ FakeVimPluginPrivate::~FakeVimPluginPrivate()
 {
 }
 
-void FakeVimPluginPrivate::shutdown()
+void FakeVimPluginPrivate::aboutToShutdown()
 {
     q->removeObject(m_fakeVimOptionsPage);
     delete m_fakeVimOptionsPage;
@@ -1151,9 +1151,9 @@ bool FakeVimPlugin::initialize(const QStringList &arguments, QString *errorMessa
     return d->initialize();
 }
 
-void FakeVimPlugin::shutdown()
+void FakeVimPlugin::aboutToShutdown()
 {
-    d->shutdown();
+    d->aboutToShutdown();
 }
 
 void FakeVimPlugin::extensionsInitialized()
diff --git a/src/plugins/fakevim/fakevimplugin.h b/src/plugins/fakevim/fakevimplugin.h
index 07367e7adc9a32afb71e7f07513f3aa2d438bb37..a40bb9a9f281bc95f906ec803fd15c5ad4462bcb 100644
--- a/src/plugins/fakevim/fakevimplugin.h
+++ b/src/plugins/fakevim/fakevimplugin.h
@@ -50,7 +50,7 @@ public:
 private:
     // implementation of ExtensionSystem::IPlugin
     bool initialize(const QStringList &arguments, QString *error_message);
-    void shutdown();
+    void aboutToShutdown();
     void extensionsInitialized();
 
 private:
diff --git a/src/plugins/find/findplugin.cpp b/src/plugins/find/findplugin.cpp
index 4b215a903f0744a2bdc43e9673b057588a58df62..65aaebb2ea02fff2c5fca7f4368d920b655dba4a 100644
--- a/src/plugins/find/findplugin.cpp
+++ b/src/plugins/find/findplugin.cpp
@@ -142,7 +142,7 @@ void FindPlugin::extensionsInitialized()
     readSettings();
 }
 
-void FindPlugin::shutdown()
+void FindPlugin::aboutToShutdown()
 {
     d->m_findToolBar->setVisible(false);
     d->m_findToolBar->setParent(0);
diff --git a/src/plugins/find/findplugin.h b/src/plugins/find/findplugin.h
index 6d0bfe10f95eb831b2e93ff3acd72e4d40f64bb7..ef0e0d7356124db82043d797f53b63e4ddc85847 100644
--- a/src/plugins/find/findplugin.h
+++ b/src/plugins/find/findplugin.h
@@ -67,7 +67,7 @@ public:
     // IPlugin
     bool initialize(const QStringList &arguments, QString *error_message);
     void extensionsInitialized();
-    void shutdown();
+    void aboutToShutdown();
 
     QTextDocument::FindFlags findFlags() const;
     void updateFindCompletion(const QString &text);
diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index 48cdbce6e94e52e3be08604d5da5b783556dd761..b80f03ea360eb0289fcef661ca167bb2b9949c39 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -358,7 +358,7 @@ void HelpPlugin::extensionsInitialized()
     connect(engine, SIGNAL(setupFinished()), this, SLOT(updateFilterComboBox()));
 }
 
-void HelpPlugin::shutdown()
+void HelpPlugin::aboutToShutdown()
 {
     if (m_sideBar)
         m_sideBar->saveSettings(m_core->settings(), QLatin1String("HelpSideBar"));
diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h
index c5a56f40f00beed650800a597f58023abdddbc74..1ac051cdfb132b9af91f0197e49bcaefc104370a 100644
--- a/src/plugins/help/helpplugin.h
+++ b/src/plugins/help/helpplugin.h
@@ -71,7 +71,7 @@ public:
 
     bool initialize(const QStringList &arguments, QString *error_message);
     void extensionsInitialized();
-    void shutdown();
+    void aboutToShutdown();
 
 private slots:
     void modeChanged(Core::IMode *mode);
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 4aa2dd0b858e4f417d5b64b5cad23eb68011cd6b..7b3155b9404c1a7b799c3f247e0f6fba9e71cf43 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -899,9 +899,9 @@ void ProjectExplorerPlugin::extensionsInitialized()
         addAutoReleasedObject(cpw);
 }
 
-void ProjectExplorerPlugin::shutdown()
+void ProjectExplorerPlugin::aboutToShutdown()
 {
-    d->m_proWindow->shutdown(); // disconnect from session
+    d->m_proWindow->aboutToShutdown(); // disconnect from session
     d->m_session->clear();
     d->m_projectsMode = 0;
 //    d->m_proWindow->saveConfigChanges();
diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h
index e0cd62a03e7401fefeeda8042b459676eadaf9a1..8ed599bf966bd2b218913bb735a97a9dba87dd3a 100644
--- a/src/plugins/projectexplorer/projectexplorer.h
+++ b/src/plugins/projectexplorer/projectexplorer.h
@@ -100,7 +100,7 @@ public:
     //PluginInterface
     bool initialize(const QStringList &arguments, QString *error_message);
     void extensionsInitialized();
-    void shutdown();
+    void aboutToShutdown();
 
     void setProjectExplorerSettings(const Internal::ProjectExplorerSettings &pes);
     Internal::ProjectExplorerSettings projectExplorerSettings() const;
diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp
index be88e017f0e07e47ca2e3863bc099f8d092ee5de..ab7476226de74a9dd7eebf50c2a6b968c0b85210 100644
--- a/src/plugins/projectexplorer/projectwindow.cpp
+++ b/src/plugins/projectexplorer/projectwindow.cpp
@@ -269,7 +269,7 @@ ProjectWindow::~ProjectWindow()
 {
 }
 
-void ProjectWindow::shutdown()
+void ProjectWindow::aboutToShutdown()
 {
     showProperties(-1, -1); // TODO that's a bit stupid, but otherwise stuff is still
                              // connected to the session
diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h
index 571aeccbe74f6332027155bcf57a4709b215c054..b8f9e0e01a4fee3e48da15b4ed5a56ab67009270 100644
--- a/src/plugins/projectexplorer/projectwindow.h
+++ b/src/plugins/projectexplorer/projectwindow.h
@@ -85,7 +85,7 @@ public:
     explicit ProjectWindow(QWidget *parent = 0);
     ~ProjectWindow();
 
-    void shutdown();
+    void aboutToShutdown();
 private slots:
     void showProperties(int index, int subIndex);
     void restoreStatus();
diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.cpp b/src/plugins/qmlinspector/qmlinspectorplugin.cpp
index 29b993fa16402a5c0fd0e069e792b4fd8be90e92..ec9c8ed5829c3d4fc7f2c38ac6bf5cc0e61c8a51 100644
--- a/src/plugins/qmlinspector/qmlinspectorplugin.cpp
+++ b/src/plugins/qmlinspector/qmlinspectorplugin.cpp
@@ -84,7 +84,7 @@ QmlInspectorPlugin::~QmlInspectorPlugin()
     m_inspector = 0;
 }
 
-void QmlInspectorPlugin::shutdown()
+void QmlInspectorPlugin::aboutToShutdown()
 {
 
 }
diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.h b/src/plugins/qmlinspector/qmlinspectorplugin.h
index c6eb118b2fd19eca500801ca8ab623657f20376d..e40d714007a50713417fb2ad65bb59d002b8cb27 100644
--- a/src/plugins/qmlinspector/qmlinspectorplugin.h
+++ b/src/plugins/qmlinspector/qmlinspectorplugin.h
@@ -58,7 +58,7 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorString);
     virtual void extensionsInitialized();
-    virtual void shutdown();
+    virtual void aboutToShutdown();
 
 public slots:
     void activateDebuggerForProject(ProjectExplorer::Project *project, const QString &runMode);