diff --git a/src/plugins/projectexplorer/ioutputparser.cpp b/src/plugins/projectexplorer/ioutputparser.cpp
index 9d3f4403b9fb6230164118c3c59655f069424d52..c313da831aadd2735d896c1f43454efa83e1aa90 100644
--- a/src/plugins/projectexplorer/ioutputparser.cpp
+++ b/src/plugins/projectexplorer/ioutputparser.cpp
@@ -123,7 +123,8 @@ IOutputParser::~IOutputParser()
 
 void IOutputParser::appendOutputParser(IOutputParser *parser)
 {
-    QTC_ASSERT(parser, return);
+    if (!parser)
+        return;
     if (m_parser) {
         m_parser->appendOutputParser(parser);
         return;
diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp
index 0ab29c274ff89d600c3987cf7d0c2ab9827b8e7d..3b6b99983db3b0edf3daf8f1e97dd6e1d90191f3 100644
--- a/src/plugins/projectexplorer/kit.cpp
+++ b/src/plugins/projectexplorer/kit.cpp
@@ -398,17 +398,14 @@ void Kit::addToEnvironment(Utils::Environment &env) const
 
 IOutputParser *Kit::createOutputParser() const
 {
-    IOutputParser *last = 0;
     IOutputParser *first = 0;
     QList<KitInformation *> infoList = KitManager::instance()->kitInformation();
     foreach (KitInformation *ki, infoList) {
         IOutputParser *next = ki->createOutputParser(this);
         if (!first)
             first = next;
-        if (last && next)
-            last->appendOutputParser(next);
-        if (next)
-            last = next;
+        else
+            first->appendOutputParser(next);
     }
     return first;
 }