diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp
index 80e77e8d5f20e18e6590d4dad22a19fc3cc14401..98c4222c8e580e3b5f5b8343018e4caa52023bac 100644
--- a/src/plugins/coreplugin/modemanager.cpp
+++ b/src/plugins/coreplugin/modemanager.cpp
@@ -73,6 +73,7 @@ struct ModeManagerPrivate
     QSignalMapper *m_signalMapper;
     Context m_addedContexts;
     int m_oldCurrent;
+    bool m_switchedToMode;
 };
 
 ModeManager *ModeManagerPrivate::m_instance = 0;
@@ -152,7 +153,7 @@ IMode *ModeManager::mode(const QString &id) const
 
 void ModeManager::activateMode(const QString &id)
 {
-    m_switchedToMode = true;
+    d->m_switchedToMode = true;
     const int index = indexOf(id);
     if (index >= 0)
         d->m_modeStack->setCurrentIndex(index);
@@ -313,7 +314,7 @@ void ModeManager::setFocusToCurrentMode()
 
 void ModeManager::switchToDefaultMode()
 {
-    if (!m_switchedToMode)
+    if (!d->m_switchedToMode)
         d->m_modeStack->setCurrentIndex(0);
 }