diff --git a/src/libs/utils/consoleprocess.h b/src/libs/utils/consoleprocess.h
index 6dfaaa0bb5e8f9d1824a5a18e48608b225548948..28ae4956e240a864311f4e4fd55f506fefc75ef8 100644
--- a/src/libs/utils/consoleprocess.h
+++ b/src/libs/utils/consoleprocess.h
@@ -82,7 +82,7 @@ private:
     QWinEventNotifier *processFinishedNotifier;
 #else
 private:
-    QProcess *m_process;
+    QProcess m_process;
 private slots:
     void processFinished(int, QProcess::ExitStatus);
 #endif
diff --git a/src/libs/utils/consoleprocess_unix.cpp b/src/libs/utils/consoleprocess_unix.cpp
index 874106cf6c9cc876affe6096d4420bba21beb55b..34709253764668e4baf078a602042c0e8ecb36c0 100644
--- a/src/libs/utils/consoleprocess_unix.cpp
+++ b/src/libs/utils/consoleprocess_unix.cpp
@@ -35,7 +35,6 @@ ConsoleProcess::ConsoleProcess(QObject *parent)
     : QObject(parent)
 {
     m_isRunning = false;
-    m_process = new QProcess(this);
 }
 
 ConsoleProcess::~ConsoleProcess()
@@ -53,7 +52,7 @@ static QString shellEscape(const QString &in)
 
 bool ConsoleProcess::start(const QString &program, const QStringList &args)
 {
-    if (m_process->state() != QProcess::NotRunning)
+    if (m_process.state() != QProcess::NotRunning)
         return false;
     QString shellArgs;
     shellArgs += QLatin1String("cd ");
@@ -66,13 +65,13 @@ bool ConsoleProcess::start(const QString &program, const QStringList &args)
     }
     shellArgs += QLatin1String("; echo; echo \"Press enter to close this window\"; read DUMMY");
 
-    m_process->setEnvironment(environment());
+    m_process.setEnvironment(environment());
 
-    connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
+    connect(&m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
             this, SLOT(processFinished(int, QProcess::ExitStatus)));
 
-    m_process->start(QLatin1String("xterm"), QStringList() << QLatin1String("-e") << "/bin/sh" << "-c" << shellArgs);
-    if (!m_process->waitForStarted())
+    m_process.start(QLatin1String("xterm"), QStringList() << QLatin1String("-e") << "/bin/sh" << "-c" << shellArgs);
+    if (!m_process.waitForStarted())
         return false;
     emit processStarted();
     return true;
@@ -85,22 +84,22 @@ void ConsoleProcess::processFinished(int, QProcess::ExitStatus)
 
 bool ConsoleProcess::isRunning() const
 {
-    return m_process->state() != QProcess::NotRunning;
+    return m_process.state() != QProcess::NotRunning;
 }
 
 void ConsoleProcess::stop()
 {
-    m_process->terminate();
-    m_process->waitForFinished();
+    m_process.terminate();
+    m_process.waitForFinished();
 }
 
 qint64 ConsoleProcess::applicationPID() const
 {
-    return m_process->pid();
+    return m_process.pid();
 }
 
 int ConsoleProcess::exitCode() const
 {
-    return m_process->exitCode();
+    return m_process.exitCode();
 }