diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp
index 168e65fd2d847737c2987ca83823ee551dd78545..6b47c321e5a82a0c8242043b1cb9bfccd9b18ac8 100644
--- a/src/plugins/analyzerbase/analyzermanager.cpp
+++ b/src/plugins/analyzerbase/analyzermanager.cpp
@@ -432,7 +432,7 @@ void AnalyzerManagerPrivate::modeChanged(IMode *mode)
 {
     if (mode && mode == m_mode) {
         m_mainWindow->setDockActionsVisible(true);
-        static bool firstTime = true;
+        static bool firstTime = !m_currentAction;
         if (firstTime)
             selectSavedTool();
         firstTime = false;