diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index f25cb748707f2ef3c02ca44ba9e31bffddabf046..7c7d3b6d3281caebd4340aced5885b32ac69a8e7 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -650,7 +650,7 @@ void GdbEngine::interruptInferior()
     if (m_gdbProc.state() == QProcess::NotRunning)
         return;
 
-    if (q->m_attachedPID) {
+    if (q->m_attachedPID > 0) {
         if (interruptProcess(q->m_attachedPID))
             qq->notifyInferiorStopped();
         return;
@@ -660,6 +660,7 @@ void GdbEngine::interruptInferior()
     sendCommand("-exec-interrupt", GdbExecInterrupt);
     qq->notifyInferiorStopped();
 #else
+    qDebug() << "CANNOT STOP INFERIOR" << m_gdbProc.pid();
     if (interruptChildProcess(m_gdbProc.pid()))
         qq->notifyInferiorStopped();
 #endif
@@ -672,9 +673,9 @@ void GdbEngine::maybeHandleInferiorPidChanged(const QString &pid0)
         qDebug() << "Cannot parse PID from " << pid0;
         return;
     }
-    if (pid == m_inferiorPid)
+    if (pid == q->m_attachedPID)
         return;
-    m_inferiorPid = pid;
+    q->m_attachedPID = pid;
     qq->notifyInferiorPidChanged(pid); 
 }
 
@@ -1514,7 +1515,6 @@ int GdbEngine::currentFrame() const
 
 bool GdbEngine::startDebugger()
 {
-    m_inferiorPid = 0;
     QStringList gdbArgs;
 
     QFileInfo fi(q->m_executable);
diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h
index 434a110a454bac1924f7c3f0db5c538de2d72989..c1344f86dda3c76682d2d65458f48c5f53c1e2fd 100644
--- a/src/plugins/debugger/gdbengine.h
+++ b/src/plugins/debugger/gdbengine.h
@@ -330,7 +330,6 @@ private:
 
     QString m_editedData;
     int m_pendingRequests;
-    int m_inferiorPid;
 
     QStringList m_availableSimpleDumpers;
     QString m_namespace; // namespace used in "namespaced Qt";