diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index c2c7b6914168200e70608d8d30f2c9c3b61d94be..4e5bab1bb5e7a6094885a6db82b59b7de87e6851 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -198,7 +198,9 @@ void LldbEngine::setupInferior()
     cmd.arg("startMode", sp.startMode); // directly relying on this is brittle wrt. insertions, so check it here
     cmd.arg("processArgs", sp.processArgs);
 
-    QTC_CHECK(!sp.attachPID || (sp.startMode == AttachCrashedExternal
+    // it is better not to check the start mode on the python sid (as we would have to duplicate the
+    // enum values), and thus we assume that if the sp.attachPID is valid we really have to attach
+    QTC_CHECK(sp.attachPID <= 0 || (sp.startMode == AttachCrashedExternal
                                 || sp.startMode == AttachExternal));
     cmd.arg("attachPid", sp.attachPID);
     cmd.arg("sysRoot", sp.sysRoot);