diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index c1a3b2d7672af0ec22a18e96076d217e43645024..1f75ea4f33671769a57892a0d4a2e117f5df4323 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -233,12 +233,7 @@ public:
         m_threadsHandler(engine),
         m_watchHandler(engine),
         m_disassemblerViewAgent(engine)
-    {
-        m_progress.setProgressRange(0, 100);
-        Core::FutureProgress *fp = Core::ICore::instance()->progressManager()
-            ->addTask(m_progress.future(), tr("Launching"), _("Debugger.Launcher"));
-        fp->setKeepOnFinish(false);
-    }
+    {}
 
     ~DebuggerEnginePrivate() {}
 
@@ -686,7 +681,14 @@ void DebuggerEngine::showMessage(const QString &msg, int channel, int timeout) c
 
 void DebuggerEngine::startDebugger(DebuggerRunControl *runControl)
 {
-    d->m_progress.reportStarted();
+     if (!isSessionEngine()) {
+        d->m_progress.setProgressRange(0, 100);
+        Core::FutureProgress *fp = Core::ICore::instance()->progressManager()
+            ->addTask(d->m_progress.future(),
+            tr("Launching"), _("Debugger.Launcher"));
+        fp->setKeepOnFinish(false);
+        d->m_progress.reportStarted();
+    }
     QTC_ASSERT(runControl, notifyEngineSetupFailed(); return);
     QTC_ASSERT(!d->m_runControl, notifyEngineSetupFailed(); return);