diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 3c9a8bd964987fd79feef754d34434029eb38327..bced674e6b3da52593d7debed935a6d267d187e7 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -1195,6 +1195,9 @@ class Dumper(DumperBase):
         else:
             error = self.process.Continue()
             self.reportError(error)
+            # Happens when attaching to GDBserver.
+            if not error.Success():
+                self.reportState("inferiorill")
 
     def quitDebugger(self, _ = None):
         self.reportState("inferiorshutdownrequested")
@@ -1451,7 +1454,13 @@ class Dumper(DumperBase):
 
     def shutdownInferior(self, _ = None):
         self.isShuttingDown_ = True
-        self.process.Kill()
+        if self.process is None:
+            self.reportState("inferiorshutdownok")
+        else:
+            state = self.process.GetState()
+            if state == lldb.eStateStopped:
+                self.process.Kill()
+            self.reportState("inferiorshutdownok")
 
     def quit(self, _ = None):
         self.reportState("engineshutdownok")
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index 696ef9811fd1096aff87ec437bcaca3e43f64fd1..6d343556fa3ad0517a505c4b3f0240120e44453e 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -1216,6 +1216,8 @@ void LldbEngine::refreshState(const GdbMi &reportedState)
         notifyInferiorStopOk();
     else if (newState == "inferiorstopfailed")
         notifyInferiorStopFailed();
+    else if (newState == "inferiorill")
+        notifyInferiorIll();
     else if (newState == "enginesetupok")
         notifyEngineSetupOk();
     else if (newState == "enginesetupfailed")