diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
index 240de4d3c79416b11fc6016cd81f6157e40806e1..ce200c9cf82505c3775087b09fb9c45e3e6192bd 100644
--- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
@@ -183,6 +183,14 @@ BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage,
     init(showModulesPage);
 }
 
+BaseQt4ProjectWizardDialog::~BaseQt4ProjectWizardDialog()
+{
+    if (m_targetsPage && !m_targetsPage->parent())
+        delete m_targetsPage;
+    if (m_modulesPage && !m_modulesPage->parent())
+        delete m_modulesPage;
+}
+
 void BaseQt4ProjectWizardDialog::init(bool showModulesPage)
 {
     QtVersionManager *vm = QtVersionManager::instance();
diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.h b/src/plugins/qt4projectmanager/wizards/qtwizard.h
index dbbe5d038c1eb0c6ebe60b4d4e03a615d4702248..74e06d2f2fdfc01d166c43cf94e0d81ec0d08ea6 100644
--- a/src/plugins/qt4projectmanager/wizards/qtwizard.h
+++ b/src/plugins/qt4projectmanager/wizards/qtwizard.h
@@ -100,6 +100,7 @@ protected:
                                         Utils::ProjectIntroPage *introPage,
                                         int introId = -1,
                                         QWidget *parent = 0);
+    virtual ~BaseQt4ProjectWizardDialog();
 
     int addModulesPage(int id = -1);
     int addTargetsPage(QSet<QString> targets = QSet<QString>(), int id = -1);