diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index f32b3b2a18b0efad22729960b87911c060db9f74..487976bb0c908ccd6b71e75deece5dbab4c50d46 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -325,16 +325,14 @@ bool MainWindow::init(QString *errorMessage)
 void MainWindow::extensionsInitialized()
 {
     m_editorManager->init();
-
     m_statusBarManager->extensionsInitalized();
-
     OutputPaneManager::instance()->init();
-
-    m_actionManager->initialize();
     m_vcsManager->extensionsInitialized();
-
     m_navigationWidget->setFactories(ExtensionSystem::PluginManager::instance()->getObjects<INavigationWidgetFactory>());
 
+    // reading the shortcut settings must be done after all shortcuts have been registered
+    m_actionManager->initialize();
+
     readSettings();
     updateContext();