diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 72ce9061d1f86971e09918b46639ce601aee8124..fa740f1e590560ea7a6bba63b4be787508ec7c95 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1193,6 +1193,7 @@ void DebuggerEnginePrivate::doInterruptInferior()
 
 void DebuggerEnginePrivate::doShutdownInferior()
 {
+    QTC_ASSERT(state() == InferiorShutdownRequested, qDebug() << state());
     m_engine->resetLocation();
     m_targetState = DebuggerFinished;
     m_engine->showMessage(_("CALL: SHUTDOWN INFERIOR"));
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 1871930c4096cb9f92e40cdf4b1852f8fd3af9fb..acd27c8b6b2834ff10fac8dde1c00b99805d8c64 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -1906,7 +1906,7 @@ void DebuggerPluginPrivate::toggleBreakpoint(const QString &fileName, int lineNu
 
 void DebuggerPluginPrivate::requestMark(ITextEditor *editor, int lineNumber)
 {
-    if (isDebuggable(editor))
+    if (isDebuggable(editor) && editor && editor->file())
         toggleBreakpoint(editor->file()->fileName(), lineNumber);
 }