diff --git a/src/plugins/designer/cpp/formclasswizarddialog.cpp b/src/plugins/designer/cpp/formclasswizarddialog.cpp
index b3697e283fb7e348e9c0e7aa5ededac569a82738..2abe1977cfbb654be0a8310cb99c43fecdd522aa 100644
--- a/src/plugins/designer/cpp/formclasswizarddialog.cpp
+++ b/src/plugins/designer/cpp/formclasswizarddialog.cpp
@@ -57,8 +57,6 @@ FormClassWizardDialog::FormClassWizardDialog(const WizardPageList &extensionPage
 
     foreach (QWizardPage *p, extensionPages)
         addPage(p);
-
-    connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int)));
 }
 
 QString FormClassWizardDialog::path() const
@@ -76,8 +74,9 @@ bool FormClassWizardDialog::validateCurrentPage()
     return QWizard::validateCurrentPage();
 }
 
-void FormClassWizardDialog::slotCurrentIdChanged(int id)
+void FormClassWizardDialog::initializePage(int id)
 {
+    QWizard::initializePage(id);
     // Switching from form to class page: store XML template and set a suitable
     // class name in the class page based on the form base class
     if (id == ClassPageId) {
diff --git a/src/plugins/designer/cpp/formclasswizarddialog.h b/src/plugins/designer/cpp/formclasswizarddialog.h
index 2997ba6adb3b226bfca2bdfaf56d8ef8acbf48c0..9707d92d099153150ac139c08d871ae37f445805 100644
--- a/src/plugins/designer/cpp/formclasswizarddialog.h
+++ b/src/plugins/designer/cpp/formclasswizarddialog.h
@@ -62,8 +62,8 @@ public:
 public slots:
     void setPath(const QString &);
 
-private slots:
-    void slotCurrentIdChanged(int id);
+protected:
+    void initializePage(int id);
 
 private:
     FormTemplateWizardPage *m_formPage;