diff --git a/src/plugins/debugger/script/scriptengine.cpp b/src/plugins/debugger/script/scriptengine.cpp
index 0ef2fc01cad29beadda81f1af60f5f3935516405..0765fa3afa9c723096514fc43ae5bf88d2d15826 100644
--- a/src/plugins/debugger/script/scriptengine.cpp
+++ b/src/plugins/debugger/script/scriptengine.cpp
@@ -188,10 +188,9 @@ ScriptEngine::ScriptEngine(DebuggerManager *parent)
 {
     q = parent;
     qq = parent->engineInterface();
-    m_scriptEngine = new QScriptEngine(this);
-    m_scriptAgent = new ScriptAgent(this, m_scriptEngine);
-    m_scriptEngine->setAgent(m_scriptAgent);
-    m_scriptEngine->setProcessEventsInterval(1 /*ms*/);
+    // created in startDebugger()
+    m_scriptEngine = 0;
+    m_scriptAgent = 0;
 }
 
 ScriptEngine::~ScriptEngine()
@@ -220,6 +219,13 @@ void ScriptEngine::exitDebugger()
 
 bool ScriptEngine::startDebugger(const QSharedPointer<DebuggerStartParameters> &sp)
 {
+    if (!m_scriptEngine)
+        m_scriptEngine = new QScriptEngine(this);
+    if (!m_scriptAgent)
+        m_scriptAgent = new ScriptAgent(this, m_scriptEngine);
+    m_scriptEngine->setAgent(m_scriptAgent);
+    m_scriptEngine->setProcessEventsInterval(1 /*ms*/);
+
     m_stopped = false;
     m_stopOnNextLine = false;
     m_scriptEngine->abortEvaluation();
diff --git a/tests/manual/trk/runner.cpp b/tests/manual/trk/runner.cpp
index 304a70202ead13a3d42016476673f4d55b36a592..e1280ffc769f5e3e210747b919ebe4f971dc638d 100755
--- a/tests/manual/trk/runner.cpp
+++ b/tests/manual/trk/runner.cpp
@@ -109,9 +109,9 @@ Runner::Runner()
     m_gdbServerIP = "127.0.0.1";
     m_gdbServerPort = QString::number(2222 + userId);
 
-    m_trkServerProc.setObjectName("TRKSERVER");
-    m_adapterProc.setObjectName("ADAPTER");
-    m_debuggerProc.setObjectName("GDB");
+    m_trkServerProc.setObjectName("TRKSERVER PROCESS");
+    m_adapterProc.setObjectName("ADAPTER PROCESS");
+    m_debuggerProc.setObjectName("GDB PROCESS");
 
     connectProcess(&m_trkServerProc);
     connectProcess(&m_adapterProc);
@@ -319,13 +319,13 @@ void Runner::writeGdbInit()
 
 void Runner::run()
 {
-    launchAdapter();
-
     if (m_isUnix) {
         QProcess::execute("killall -s USR adapter trkserver");
         QProcess::execute("killall adapter trkserver");
     }
 
+    launchAdapter();
+
     uid_t userId = getuid();
     if (m_trkServerName.isEmpty())
         m_trkServerName = QString("TRKSERVER-%1").arg(userId);
@@ -408,7 +408,7 @@ int main(int argc, char *argv[])
     QApplication app(argc, argv);
 #if 1
     QStringList args = QCoreApplication::arguments();
-    qDebug() << "ARGS: " << args;
+    qDebug() << "RUNNER ARGS: " << args;
 #else
     // Important options: -w wait for adapter, -af omit serial frame.
     QStringList args = QStringList() << "-w" << "-af" << "COM5";