diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index fe4e3d4877051c09ae48ce6dc603f6093f909334..e612ace6f9c5ce359dcf72eec8b04603b3048264 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -1424,17 +1424,13 @@ QString QtVersion::buildDebuggingHelperLibrary()
         if (!success)
             continue;
 
-        output += QString("Building debugging helper library in %1\n").arg(directory);
-        output += "\n";
-        output += QString("Runinng %1 ...\n").arg(qmakeCommand());
+        // Setup process
+        QProcess proc;
 
-        QProcess qmake;
         ProjectExplorer::Environment env = ProjectExplorer::Environment::systemEnvironment();
         addToEnvironment(env);
-
         // TODO this is a hack to get, to be removed and rewritten for 1.2
-        //
-        // For MSVC and MINGW, we need a toolchain to get the right environment        
+        // For MSVC and MINGW, we need a toolchain to get the right environment
         ProjectExplorer::ToolChain *toolChain = 0;
         ProjectExplorer::ToolChain::ToolChainType t = toolchainType();
         if (t == ProjectExplorer::ToolChain::MinGW)
@@ -1447,23 +1443,20 @@ QString QtVersion::buildDebuggingHelperLibrary()
             toolChain = 0;
         }
 
-        qmake.setEnvironment(env.toStringList());
-        qmake.setWorkingDirectory(directory);
-        qmake.setProcessChannelMode(QProcess::MergedChannels);
+        proc.setEnvironment(env.toStringList());
+        proc.setWorkingDirectory(directory);
+        proc.setProcessChannelMode(QProcess::MergedChannels);
 
-        qmake.start(qmakeCommand(), QStringList()<<"-spec"<< mkspec() <<"gdbmacros.pro");
-        qmake.waitForFinished();
-
-        output += qmake.readAll();
+        output += QString("Building debugging helper library in %1\n").arg(directory);
+        output += "\n";
 
+        QString make;
         // TODO this is butt ugly
         // only qt4projects have a toolchain() method. (Reason mostly, that in order to create
         // the toolchain, we need to have the path to gcc
         // which might depend on environment settings of the project
         // so we hardcode the toolchainType to make conversation here
         // and think about how to fix that later
-
-        QString make;
         if (t == ProjectExplorer::ToolChain::MinGW)
             make = "mingw32-make.exe";
         else if(t == ProjectExplorer::ToolChain::MSVC || t == ProjectExplorer::ToolChain::WINCE)
@@ -1472,12 +1465,29 @@ QString QtVersion::buildDebuggingHelperLibrary()
             make = "make";
 
         QString makeFullPath = env.searchInPath(make);
+        if (!makeFullPath.isEmpty()) {
+            output += QString("Running %1 clean...\n").arg(makeFullPath);
+            proc.start(makeFullPath, QStringList() << "clean");
+            proc.waitForFinished();
+            output += proc.readAll();
+        } else {
+            output += QString("%1 not found in PATH\n").arg(make);
+            break;
+        }
+
+        output += QString("\nRuninng %1 ...\n").arg(qmakeCommand());
+
+        proc.start(qmakeCommand(), QStringList()<<"-spec"<< mkspec() <<"gdbmacros.pro");
+        proc.waitForFinished();
+
+        output += proc.readAll();
+
         output += "\n";
         if (!makeFullPath.isEmpty()) {
             output += QString("Running %1 ...\n").arg(makeFullPath);
-            qmake.start(makeFullPath, QStringList());
-            qmake.waitForFinished();
-            output += qmake.readAll();
+            proc.start(makeFullPath, QStringList());
+            proc.waitForFinished();
+            output += proc.readAll();
         } else {
             output += QString("%1 not found in PATH\n").arg(make);
         }