diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 48cd51a46ca4e48014b0c17587716ac3075259a9..3f6e16b378cb8809b92b52c035b8275c615c79ba 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -442,10 +442,15 @@ void GdbEngine::handleResponse(const QByteArray &buff)
                 // 7.0.x, there was a *-created instead.
                 int progress = m_progress->progressValue();
                 m_progress->setProgressValue(qMin(70, progress + 1));
+                // 7.1.50 has thread-group-started,id="i1",pid="3529"
                 QByteArray id = result.findChild("id").data();
-                showStatusMessage(tr("Thread group %1 created.").arg(_(id)), 1000);
+                showStatusMessage(tr("Thread group %1 created").arg(_(id)), 1000);
                 int pid = id.toInt();
-                if (pid != inferiorPid())
+                if (!pid) {
+                    id = result.findChild("pid").data();
+                    pid = id.toInt();
+                }
+                if (pid)
                     handleInferiorPidChanged(pid);
             } else if (asyncClass == "thread-created") {
                 //"{id="1",group-id="28902"}"