diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.cpp b/src/plugins/vcsbase/wizard/vcscommandpage.cpp
index 0ab6fa3e1a4fb927fcaaa0b72b3a51b25ee20428..d8d488eda2bf81715a3cc367cc5a7d9cd9a63090 100644
--- a/src/plugins/vcsbase/wizard/vcscommandpage.cpp
+++ b/src/plugins/vcsbase/wizard/vcscommandpage.cpp
@@ -41,6 +41,7 @@
 
 #include <QDir>
 #include <QDebug>
+#include <QTimer>
 
 using namespace Core;
 using namespace ProjectExplorer;
@@ -160,6 +161,13 @@ VcsCommandPage::VcsCommandPage()
 }
 
 void VcsCommandPage::initializePage()
+{
+    // Delay real initialization till after QWizard is done with its setup.
+    // Otherwise QWizard will reset our disabled back button again.
+    QTimer::singleShot(0, this, &VcsCommandPage::delayedInitialize);
+}
+
+void VcsCommandPage::delayedInitialize()
 {
     auto wiz = qobject_cast<JsonWizard *>(wizard());
     QTC_ASSERT(wiz, return);
diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.h b/src/plugins/vcsbase/wizard/vcscommandpage.h
index da8351e200649f398b09ba0825763a0048cff024..860f9f265b8d82929d0d09988fbdd268e86576fe 100644
--- a/src/plugins/vcsbase/wizard/vcscommandpage.h
+++ b/src/plugins/vcsbase/wizard/vcscommandpage.h
@@ -69,6 +69,9 @@ public:
     void setVersionControlId(const QString &id);
     void setRunMessage(const QString &msg);
 
+private slots:
+    void delayedInitialize();
+
 private:
     QString m_vcsId;
     QString m_repository;