diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index 735a87c6a79025001e1dc665989685012c31ef9c..8d516b85bff6ce6dbcb43ce544a5ac92c9d90dd1 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -1103,9 +1103,9 @@ void TrkGdbAdapter::handleTrkResult(const TrkResult &result)
 
         // target->host OS notification
         case 0xa0: { // Notify Created
-            debugMessage(_("RESET SNAPSHOT (NOTIFY CREATED)"));
             // Sending this ACK does not seem to make a difference. Why?
             //sendTrkAck(result.token);
+            debugMessage(_("RESET SNAPSHOT (NOTIFY CREATED)"));
             m_snapshot.reset();
             const char *data = result.data.data();
             const byte error = result.data.at(0);
@@ -1772,6 +1772,7 @@ void TrkGdbAdapter::handleCreateProcess(const TrkResult &result)
         //    + QByteArray::number(m_session.codeseg));
         m_engine->postCommand("symbol-file \"" + symbolFile + "\"");
     }
+    m_engine->postCommand("set breakpoint always-inserted on");
     m_engine->postCommand("set trust-readonly-sections"); // No difference?
     m_engine->postCommand("set displaced-stepping on"); // No difference?
     m_engine->postCommand("mem 0x00400000 0x00800000 cache");