diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
index 0939a1c43f3ef99207f4c2f9df4a08bdaeae616d..f9526756e799b3d76d39436ecce69abcacb0d486 100644
--- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
@@ -435,9 +435,10 @@ void CMakeRunPage::runCMake()
     m_output->clear();
 
     if (m_cmakeWizard->cmakeManager()->isCMakeExecutableValid()) {
-        m_cmakeProcess = cmakeManager->createXmlFile(arguments, m_cmakeWizard->sourceDirectory(), m_buildDirectory, env, generator);
+        m_cmakeProcess = new QProcess();
         connect(m_cmakeProcess, SIGNAL(readyRead()), this, SLOT(cmakeReadyRead()));
         connect(m_cmakeProcess, SIGNAL(finished(int)), this, SLOT(cmakeFinished()));
+        cmakeManager->createXmlFile(m_cmakeProcess, arguments, m_cmakeWizard->sourceDirectory(), m_buildDirectory, env, generator);
     } else {
         m_runCMake->setEnabled(true);
         m_argumentsLineEdit->setEnabled(true);
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index fbab5af5d8f773ef6c4fb89a38b7a8bc4ab927f8..d0b683c8b38c29571ced06da61c1f3d412943f83 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -99,7 +99,7 @@ bool CMakeManager::hasCodeBlocksMsvcGenerator() const
 // we probably want the process instead of this function
 // cmakeproject then could even run the cmake process in the background, adding the files afterwards
 // sounds like a plan
-QProcess *CMakeManager::createXmlFile(const QStringList &arguments, const QString &sourceDirectory, const QDir &buildDirectory, const ProjectExplorer::Environment &env, const QString &generator)
+void CMakeManager::createXmlFile(QProcess *proc, const QStringList &arguments, const QString &sourceDirectory, const QDir &buildDirectory, const ProjectExplorer::Environment &env, const QString &generator)
 {
     // We create a cbp file, only if we didn't find a cbp file in the base directory
     // Yet that can still override cbp files in subdirectories
@@ -111,14 +111,12 @@ QProcess *CMakeManager::createXmlFile(const QStringList &arguments, const QStrin
     // TODO we need to pass on the same paremeters as the cmakestep
     QString buildDirectoryPath = buildDirectory.absolutePath();
     buildDirectory.mkpath(buildDirectoryPath);
-    QProcess *cmake = new QProcess;
-    cmake->setWorkingDirectory(buildDirectoryPath);
-    cmake->setProcessChannelMode(QProcess::MergedChannels);
-    cmake->setEnvironment(env.toStringList());
+    proc->setWorkingDirectory(buildDirectoryPath);
+    proc->setProcessChannelMode(QProcess::MergedChannels);
+    proc->setEnvironment(env.toStringList());
 
     const QString srcdir = buildDirectory.exists(QLatin1String("CMakeCache.txt")) ? QString(QLatin1Char('.')) : sourceDirectory;    
-    cmake->start(cmakeExecutable(), QStringList() << srcdir << arguments << generator);
-    return cmake;
+    proc->start(cmakeExecutable(), QStringList() << srcdir << arguments << generator);
 }
 
 QString CMakeManager::findCbpFile(const QDir &directory)
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
index a33055235ab0f88b92099aaab1dcf3055d0af089..2c8a3ee3fc03f2524b9235895055bce3c70bf1de 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h
@@ -63,11 +63,12 @@ public:
 
     void setCMakeExecutable(const QString &executable);
 
-    QProcess* createXmlFile(const QStringList &arguments,
-                            const QString &sourceDirectory,
-                            const QDir &buildDirectory,
-                            const ProjectExplorer::Environment &env,
-                            const QString &generator);
+    void createXmlFile(QProcess *process,
+                       const QStringList &arguments,
+                       const QString &sourceDirectory,
+                       const QDir &buildDirectory,
+                       const ProjectExplorer::Environment &env,
+                       const QString &generator);
     bool hasCodeBlocksMsvcGenerator() const;
     static QString findCbpFile(const QDir &);