diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp
index 4234b600d38b01867de213ea5e7950064e035114..e39d64d3616c88c4f05123b22727d5a98d403af3 100644
--- a/src/plugins/coreplugin/welcomemode.cpp
+++ b/src/plugins/coreplugin/welcomemode.cpp
@@ -206,6 +206,7 @@ WelcomeMode::~WelcomeMode()
 {
     QSettings *settings = ICore::instance()->settings();
     settings->setValue("General/WelcomeTab", m_d->btnGrp->checkedId());
+    delete m_d->m_widget;
     delete m_d;
 }
 
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index b65981957bfeacfb9fd8a5fa098f5a7ee946fdff..c6a11a26d62d0a87bf4ab7e6e31cada654ceb6e1 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -43,11 +43,10 @@ namespace Internal {
 class DebuggerSettings : public QObject
 {
     Q_OBJECT
-
 public:
     DebuggerSettings(QObject *parent = 0);
     ~DebuggerSettings();
-    
+
     void insertItem(int code, Core::Utils::SavedAction *item);
     Core::Utils::SavedAction *item(int code) const;
 
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 4c09fe9d1d0442061e3dc14308653d3cd735cb9e..d252b2482da5606d329cc7a6eb7db0da2fcbe880 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -418,6 +418,7 @@ void DebuggerPlugin::shutdown()
         m_manager->shutdown();
 
     writeSettings();
+    delete DebuggerSettings::instance();
 
     //qDebug() << "DebuggerPlugin::~DebuggerPlugin";
     removeObject(m_debugMode);
diff --git a/src/plugins/fakevim/fakevimactions.h b/src/plugins/fakevim/fakevimactions.h
index 45b3f9fb059240ac208e2fa4b5c9a4a734658f75..43ec20ed7a07f4b868907c5273059294bd7c9712 100644
--- a/src/plugins/fakevim/fakevimactions.h
+++ b/src/plugins/fakevim/fakevimactions.h
@@ -66,7 +66,6 @@ class FakeVimSettings : public QObject
 public:
     FakeVimSettings();
     ~FakeVimSettings();
-    
     void insertItem(int code, Core::Utils::SavedAction *item,
         const QString &longname = QString(),
         const QString &shortname = QString());
@@ -77,7 +76,7 @@ public:
     void readSettings(QSettings *settings);
     void writeSettings(QSettings *settings);
 
-public:
+private:
     QHash<int, Core::Utils::SavedAction *> m_items; 
     QHash<QString, int> m_nameToCode; 
     QHash<int, QString> m_codeToName; 
diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index 50bdb9dd9d8d3928fb34b6797d66ce5b055624fb..1910b4905b918509446f32522509140824680430 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -280,6 +280,7 @@ void FakeVimPluginPrivate::shutdown()
     delete m_fakeVimOptionsPage;
     m_fakeVimOptionsPage = 0;
     theFakeVimSettings()->writeSettings(Core::ICore::instance()->settings());
+    delete theFakeVimSettings();
 }
 
 bool FakeVimPluginPrivate::initialize()