diff --git a/src/plugins/coreplugin/actionmanager/command.cpp b/src/plugins/coreplugin/actionmanager/command.cpp
index 4c7b2c3f303bbbc11152ac8edf7acd64e123ac1d..a9c22e2c11215f563c7f956bec7a962d06873b9d 100644
--- a/src/plugins/coreplugin/actionmanager/command.cpp
+++ b/src/plugins/coreplugin/actionmanager/command.cpp
@@ -529,7 +529,7 @@ void OverrideableAction::actionChanged()
     m_action->setVisible(m_currentAction->isVisible());
 
     m_dummyShortcutEater.setShortcuts(m_action->shortcuts());
-    m_dummyShortcutEater.setEnabled(!m_action->isEnabled());
+    m_dummyShortcutEater.setEnabled(m_action->isVisible() && !m_action->isEnabled());
 }
 
 bool OverrideableAction::isActive() const