diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index 6cf3ea5e147a79dc048318a3083ae32657a20b0f..df9065b3499d3f779af1f44b2759af722459268b 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -605,7 +605,9 @@ void AppOutputPane::slotRunControlFinished2(RunControl *sender)
 {
     const int senderIndex = indexOf(sender);
 
-    QTC_ASSERT(senderIndex != -1, return);
+    // This slot is queued, so the stop() call in closeTab might lead to this slot, after closeTab already cleaned up
+    if (senderIndex == -1)
+        return;
 
     // Enable buttons for current
     RunControl *current = currentRunControl();