diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp
index dbdbe033f7fdbf08d47fb948ab28667c83bac902..03bfb06cb88af8c4629d3acd7b6c2f1ca40a0ae8 100644
--- a/src/plugins/qt4projectmanager/makestep.cpp
+++ b/src/plugins/qt4projectmanager/makestep.cpp
@@ -180,14 +180,15 @@ bool MakeStep::init()
     setEnabled(true);
     pp->setArguments(args);
 
-    m_makeParser = bc->qtVersion()->createOutputParser();
-    m_makeParser->appendOutputParser(new QtParser);
+    ProjectExplorer::IOutputParser *parser = bc->qtVersion()->createOutputParser();
+    Q_ASSERT(parser);
+    parser->appendOutputParser(new QtParser);
     if (toolchain)
-        m_makeParser->appendOutputParser(toolchain->outputParser());
+        parser->appendOutputParser(toolchain->outputParser());
 
-    m_makeParser->setWorkingDirectory(workingDirectory);
+    parser->setWorkingDirectory(workingDirectory);
 
-    setOutputParser(m_makeParser);
+    setOutputParser(parser);
 
     return AbstractProcessStep::init();
 }
@@ -205,7 +206,7 @@ void MakeStep::run(QFutureInterface<bool> & fi)
 bool MakeStep::processSucceeded(int exitCode, QProcess::ExitStatus status)
 {
     // Symbian does retun 0, even on failed makes! So we check for fatal make errors here.
-    if (m_makeParser && m_makeParser->hasFatalErrors())
+    if (outputParser() && outputParser()->hasFatalErrors())
         return false;
 
     return AbstractProcessStep::processSucceeded(exitCode, status);
diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h
index a0ed6a0ac718e919ba0ed26d040cf7fd56466af8..1170ae2b31ea7c499e5ffa36c96403f8391c1c20 100644
--- a/src/plugins/qt4projectmanager/makestep.h
+++ b/src/plugins/qt4projectmanager/makestep.h
@@ -111,7 +111,6 @@ private:
     bool m_clean;
     QString m_userArgs;
     QString m_makeCmd;
-    ProjectExplorer::IOutputParser *m_makeParser;
 };
 
 class MakeStepConfigWidget : public ProjectExplorer::BuildStepConfigWidget