diff --git a/src/plugins/debugger/debuggeruiswitcher.cpp b/src/plugins/debugger/debuggeruiswitcher.cpp
index 5fecda967343ed0cbe2833cefa424adae4296bdf..31a816b034ba096df3ca3649f7689700752f4043 100644
--- a/src/plugins/debugger/debuggeruiswitcher.cpp
+++ b/src/plugins/debugger/debuggeruiswitcher.cpp
@@ -667,6 +667,16 @@ void DebuggerUISwitcher::readSettings()
         d->m_dockWidgetActiveStateQmlCpp.insert(key, settings->value(key));
     }
     settings->endGroup();
+
+    // reset initial settings when there are none yet
+    if (d->m_dockWidgetActiveStateCpp.isEmpty() || d->m_dockWidgetActiveStateQmlCpp.isEmpty()) {
+        DebuggerLanguages langs = d->m_activeDebugLanguages;
+        d->m_activeDebugLanguages = QmlLanguage;
+        resetDebuggerLayout();
+        d->m_activeDebugLanguages = CppLanguage;
+        resetDebuggerLayout();
+        d->m_activeDebugLanguages = langs;
+    }
 }
 
 void DebuggerUISwitcher::initialize()