diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index a83014c2a9c031c3683ed562f8c1fe2dd2e2436a..e8dbfef50735d62ef8a9258565ea8a6dd9facb44 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -3338,10 +3338,17 @@ void DebuggerPluginPrivate::updateUiForRunConfiguration(RunConfiguration *rc)
 
 void DebuggerPluginPrivate::updateActiveLanguages()
 {
-//    DebuggerLanguages languages = dd->m_currentEngine->runParameters().languages;
+    const DebuggerLanguages languages = dd->m_currentEngine->runParameters().languages;
 //    Id perspective = (languages & QmlLanguage) && !(languages & CppLanguage)
 //            ? QmlPerspectiveId : CppPerspectiveId;
 //    m_mainWindow->restorePerspective(perspective);
+    for (DebuggerLanguage language: {QmlLanguage, CppLanguage}) {
+        const Context context = m_contextsForLanguage.value(language);
+        if (languages & language)
+            ICore::addAdditionalContext(context);
+        else
+            ICore::removeAdditionalContext(context);
+    }
 }
 
 //bool DockWidgetEventFilter::eventFilter(QObject *obj, QEvent *event)