diff --git a/src/plugins/git/settingspage.cpp b/src/plugins/git/settingspage.cpp
index cc6d06d9b53a402d12a7ddfd8728a68be77d774d..7765dee3304e0c1f473d20d0c1599bca1faf077c 100644
--- a/src/plugins/git/settingspage.cpp
+++ b/src/plugins/git/settingspage.cpp
@@ -97,16 +97,13 @@ QString SettingsPage::trCategory() const
 
 QWidget *SettingsPage::createPage(QWidget *parent)
 {
-    if (!m_widget)
-        m_widget = new SettingsPageWidget(parent);
+    m_widget = new SettingsPageWidget(parent);
     m_widget->setSettings(GitPlugin::instance()->settings());
     return m_widget;
 }
 
 void SettingsPage::apply()
 {
-    if (!m_widget)
-        return;
     const GitSettings newSettings = m_widget->settings();
     // Warn if git cannot be found in path if the widget is on top
     if (m_widget->isVisible()) {
diff --git a/src/plugins/git/settingspage.h b/src/plugins/git/settingspage.h
index ec247d8a8967d5398f50e5693d064cb612d954ec..2bb9c0a8d300dbdd4f1688349a3ee86a6d9befaf 100644
--- a/src/plugins/git/settingspage.h
+++ b/src/plugins/git/settingspage.h
@@ -78,7 +78,7 @@ public:
     void finish() { }
 
 private:
-    QPointer<SettingsPageWidget> m_widget;
+    SettingsPageWidget* m_widget;
 };
 
 } // namespace Internal
diff --git a/src/plugins/perforce/settingspage.cpp b/src/plugins/perforce/settingspage.cpp
index 1672186e9b7fbf210cb2794bd9ee17c90c32f0e3..024c2ac01fab2385c6e0d3b7bb886a4bb0af2fb9 100644
--- a/src/plugins/perforce/settingspage.cpp
+++ b/src/plugins/perforce/settingspage.cpp
@@ -108,16 +108,12 @@ QString SettingsPage::trCategory() const
 
 QWidget *SettingsPage::createPage(QWidget *parent)
 {
-    if (!m_widget)
-        m_widget = new SettingsPageWidget(parent);
+    m_widget = new SettingsPageWidget(parent);
     m_widget->setSettings(PerforcePlugin::perforcePluginInstance()->settings());
     return m_widget;
 }
 
 void SettingsPage::apply()
 {
-    if (!m_widget)
-        return;
-
     PerforcePlugin::perforcePluginInstance()->setSettings(m_widget->p4Command(), m_widget->p4Port(), m_widget->p4Client(), m_widget->p4User(), m_widget->defaultEnv());
 }
diff --git a/src/plugins/perforce/settingspage.h b/src/plugins/perforce/settingspage.h
index 5f54c5c53812c07d90dca4cd40e15b50aaa6c2f0..f4c6d028af36b4be1062b818ca64d22775ccaf72 100644
--- a/src/plugins/perforce/settingspage.h
+++ b/src/plugins/perforce/settingspage.h
@@ -76,7 +76,7 @@ public:
     void finish() { }
 
 private:
-    QPointer<SettingsPageWidget> m_widget;
+    SettingsPageWidget* m_widget;
 };
 
 } // namespace Internal
diff --git a/src/plugins/projectexplorer/abstractmakestep.cpp b/src/plugins/projectexplorer/abstractmakestep.cpp
index cde9e5719c6953b6abe12b0d5a616583b82af970..19b9aa1db742629f02b6eda4b2ac2a02d48a90ef 100644
--- a/src/plugins/projectexplorer/abstractmakestep.cpp
+++ b/src/plugins/projectexplorer/abstractmakestep.cpp
@@ -95,6 +95,7 @@ void AbstractMakeStep::setBuildParser(const QString &parser)
         }
 
     if (m_buildParser) {
+        m_buildParserName = parser;
         connect(m_buildParser, SIGNAL(addToOutputWindow(const QString &)),
                 this, SIGNAL(addToOutputWindow(const QString &)),
                 Qt::DirectConnection);
diff --git a/src/plugins/projectexplorer/abstractmakestep.h b/src/plugins/projectexplorer/abstractmakestep.h
index 0e5e2e9ef6fdf13c801e6bc8203b22b1cff0e60f..0b00501f58d9e4eaa9b19503324c4e11e73a9526 100644
--- a/src/plugins/projectexplorer/abstractmakestep.h
+++ b/src/plugins/projectexplorer/abstractmakestep.h
@@ -51,10 +51,11 @@ public:
     virtual void run(QFutureInterface<bool> &);
 
 protected:
+    // derived classes needs to call these functions
     virtual void stdOut(const QString &line);
     virtual void stdError(const QString &line);
 
-    // derived classes need to call those functions
+    // derived classes needs to call this function
     void setBuildParser(const QString &parser);
     QString buildParser() const;
 private slots:
diff --git a/src/plugins/quickopen/settingspage.cpp b/src/plugins/quickopen/settingspage.cpp
index bd900e6bba0debb82f0656d23215b03993c6f384..dbb69b44273fbd72a20357e47720918c64b30652 100644
--- a/src/plugins/quickopen/settingspage.cpp
+++ b/src/plugins/quickopen/settingspage.cpp
@@ -71,20 +71,20 @@ QString SettingsPage::trCategory() const
 
 QWidget *SettingsPage::createPage(QWidget *parent)
 {
-    if (!m_page) {
-        m_page = new QWidget(parent);
-        m_ui.setupUi(m_page);
-        connect(m_ui.filterList, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
-                this, SLOT(updateButtonStates()));
-        connect(m_ui.filterList, SIGNAL(itemActivated(QListWidgetItem *)),
-                this, SLOT(configureFilter(QListWidgetItem *)));
-        connect(m_ui.editButton, SIGNAL(clicked()),
-                this, SLOT(configureFilter()));
-        connect(m_ui.addButton, SIGNAL(clicked()),
-                this, SLOT(addCustomFilter()));
-        connect(m_ui.removeButton, SIGNAL(clicked()),
-                this, SLOT(removeCustomFilter()));
-    }
+
+    m_page = new QWidget(parent);
+    m_ui.setupUi(m_page);
+    connect(m_ui.filterList, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
+            this, SLOT(updateButtonStates()));
+    connect(m_ui.filterList, SIGNAL(itemActivated(QListWidgetItem *)),
+            this, SLOT(configureFilter(QListWidgetItem *)));
+    connect(m_ui.editButton, SIGNAL(clicked()),
+            this, SLOT(configureFilter()));
+    connect(m_ui.addButton, SIGNAL(clicked()),
+            this, SLOT(addCustomFilter()));
+    connect(m_ui.removeButton, SIGNAL(clicked()),
+            this, SLOT(removeCustomFilter()));
+
     m_ui.refreshInterval->setValue(m_plugin->refreshInterval());
     m_filters = m_plugin->filters();
     m_customFilters = m_plugin->customFilters();
diff --git a/src/plugins/quickopen/settingspage.h b/src/plugins/quickopen/settingspage.h
index 6bb3a2984abaea393380a5c340d9db04306da0e9..936ecd082b2a09eae1300e5f5243358e064b48eb 100644
--- a/src/plugins/quickopen/settingspage.h
+++ b/src/plugins/quickopen/settingspage.h
@@ -78,7 +78,7 @@ private:
 
     Ui::SettingsWidget m_ui;
     QuickOpenPlugin *m_plugin;
-    QPointer<QWidget> m_page;
+    QWidget* m_page;
     QList<IQuickOpenFilter *> m_filters;
     QList<IQuickOpenFilter *> m_addedFilters;
     QList<IQuickOpenFilter *> m_removedFilters;
diff --git a/src/plugins/subversion/settingspage.cpp b/src/plugins/subversion/settingspage.cpp
index e06560feddc260704f2f2fdb52a729d124aae346..b099b8715ce0caed79c6d9bc107faf5a9ac73e4a 100644
--- a/src/plugins/subversion/settingspage.cpp
+++ b/src/plugins/subversion/settingspage.cpp
@@ -96,15 +96,12 @@ QString SettingsPage::trCategory() const
 
 QWidget *SettingsPage::createPage(QWidget *parent)
 {
-    if (!m_widget)
-        m_widget = new SettingsPageWidget(parent);
+    m_widget = new SettingsPageWidget(parent);
     m_widget->setSettings(SubversionPlugin::subversionPluginInstance()->settings());
     return m_widget;
 }
 
 void SettingsPage::apply()
 {
-    if (!m_widget)
-        return;
     SubversionPlugin::subversionPluginInstance()->setSettings(m_widget->settings());
 }
diff --git a/src/plugins/subversion/settingspage.h b/src/plugins/subversion/settingspage.h
index 7808920e04e046bb5f773c6cc262e14e4e51e6b1..1fc5e8e3350c588567b303a78c99ba98d61122e4 100644
--- a/src/plugins/subversion/settingspage.h
+++ b/src/plugins/subversion/settingspage.h
@@ -77,7 +77,7 @@ public:
     void finish() { }
 
 private:
-    QPointer<SettingsPageWidget> m_widget;
+    SettingsPageWidget* m_widget;
 };
 
 } // namespace Subversion
diff --git a/src/plugins/vcsbase/vcsbasesettingspage.h b/src/plugins/vcsbase/vcsbasesettingspage.h
index 9c271c561e9dcb710eb0fddc472e8c0143e1695a..a81daf5f35211d3f3ba006fbd6469d0e5a0e5d44 100644
--- a/src/plugins/vcsbase/vcsbasesettingspage.h
+++ b/src/plugins/vcsbase/vcsbasesettingspage.h
@@ -80,7 +80,7 @@ signals:
 
 private:
     void updateNickNames();
-    QPointer<VCSBaseSettingsWidget> m_widget;
+    VCSBaseSettingsWidget* m_widget;
     VCSBaseSettings m_settings;
 };