diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp
index e4ce23df18a9cf9960937761846b1d02c4759ba2..e4903e8d19e5b6737fd5627259ecab111c3af2fc 100644
--- a/src/plugins/coreplugin/coreplugin.cpp
+++ b/src/plugins/coreplugin/coreplugin.cpp
@@ -211,6 +211,9 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
     expander->registerPrefix("CurrentTime:", tr("The current time (QTime formatstring)."),
                              [](const QString &fmt) { return QTime::currentTime().toString(fmt); });
 
+    // Make sure all wizards are there when the user might access the keyboard shortcuts:
+    connect(ICore::instance(), &ICore::optionsDialogRequested, []() { IWizardFactory::allWizardFactories(); });
+
     return success;
 }
 
@@ -233,6 +236,7 @@ bool CorePlugin::delayedInitialize()
 {
     HelpManager::setupHelpManager();
     m_locator->delayedInitialize();
+    IWizardFactory::allWizardFactories(); // scan for all wizard factories
     return true;
 }