diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 5e7673ea8a901cb748f88bf8234287b8ac6a56be..83f6e1ec2bfbf2a5012bcfabee12d51c6256b70a 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -1104,10 +1104,13 @@ void MainWindow::readSettings()
 {
     m_settings->beginGroup(QLatin1String(settingsGroup));
 
-    if (m_overrideColor.isValid())
+    if (m_overrideColor.isValid()) {
         Utils::StyleHelper::setBaseColor(m_overrideColor);
-    else
+        // Get adapted base color.
+        m_overrideColor = Utils::StyleHelper::baseColor();
+    } else {
         Utils::StyleHelper::setBaseColor(m_settings->value(QLatin1String(colorKey)).value<QColor>());
+    }
 
     const QVariant geom = m_settings->value(QLatin1String(geometryKey));
     if (geom.isValid()) {