diff --git a/src/libs/utils/filewizarddialog.cpp b/src/libs/utils/filewizarddialog.cpp
index 90aab6d93e0d07cfbc17d0945720301637b77c8c..d6ab720377a32312a7e52c453aaeaee996af149f 100644
--- a/src/libs/utils/filewizarddialog.cpp
+++ b/src/libs/utils/filewizarddialog.cpp
@@ -47,8 +47,7 @@ FileWizardDialog::FileWizardDialog(QWidget *parent) :
     Wizard(parent),
     m_filePage(new FileWizardPage)
 {
-    const int filePageId = addPage(m_filePage);
-    wizardProgress()->item(filePageId)->setTitle(tr("Location"));
+    addPage(m_filePage);
     connect(m_filePage, SIGNAL(activated()), button(QWizard::FinishButton), SLOT(animateClick()));
 }
 
diff --git a/src/libs/utils/filewizardpage.cpp b/src/libs/utils/filewizardpage.cpp
index 2a05ce754413ddf5d753c6cb45452e21898948fa..86e671d9c2f1ebee825a62ba9ca5eac70c2487f5 100644
--- a/src/libs/utils/filewizardpage.cpp
+++ b/src/libs/utils/filewizardpage.cpp
@@ -30,6 +30,8 @@
 #include "filewizardpage.h"
 #include "ui_filewizardpage.h"
 
+#include "wizard.h"
+
 /*!
   \class Utils::FileWizardPage
 
@@ -66,6 +68,8 @@ FileWizardPage::FileWizardPage(QWidget *parent) :
 
     connect(d->m_ui.pathChooser, SIGNAL(returnPressed()), this, SLOT(slotActivated()));
     connect(d->m_ui.nameLineEdit, SIGNAL(validReturnPressed()), this, SLOT(slotActivated()));
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Location"));
 }
 
 FileWizardPage::~FileWizardPage()
diff --git a/src/libs/utils/projectintropage.cpp b/src/libs/utils/projectintropage.cpp
index 03654879e54cc41851980a4084aeb2f05e19ba57..19a359e422c6b24bac8630acce4f17d58fc546e1 100644
--- a/src/libs/utils/projectintropage.cpp
+++ b/src/libs/utils/projectintropage.cpp
@@ -30,6 +30,8 @@
 #include "projectintropage.h"
 #include "ui_projectintropage.h"
 
+#include "wizard.h"
+
 #include <QDir>
 
 /*!
@@ -96,6 +98,8 @@ ProjectIntroPage::ProjectIntroPage(QWidget *parent) :
     connect(d->m_ui.pathChooser, SIGNAL(returnPressed()), this, SLOT(slotActivated()));
     connect(d->m_ui.nameLineEdit, SIGNAL(validReturnPressed()), this, SLOT(slotActivated()));
     connect(d->m_ui.projectComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotChanged()));
+
+    setProperty(SHORT_TITLE_PROPERTY, tr("Location"));
 }
 
 void ProjectIntroPage::insertControl(int row, QWidget *label, QWidget *control)
diff --git a/src/libs/utils/wizard.cpp b/src/libs/utils/wizard.cpp
index 5f37a418627662acc8b51b622e69d331310cf2e5..9e08879a420aeca45d611bb38ceffe8114100a93 100644
--- a/src/libs/utils/wizard.cpp
+++ b/src/libs/utils/wizard.cpp
@@ -32,6 +32,7 @@
 
 #include <QMap>
 #include <QHash>
+#include <QVariant>
 
 #include <QLabel>
 #include <QVBoxLayout>
@@ -389,7 +390,10 @@ void Wizard::_q_pageAdded(int pageId)
     if (!d->m_automaticProgressCreation)
         return;
 
-    WizardProgressItem *item = d->m_wizardProgress->addItem(page(pageId)->title());
+    QWizardPage *p = page(pageId);
+    QVariant property = p->property(SHORT_TITLE_PROPERTY);
+    const QString title = property.isNull() ? p->title() : property.toString();
+    WizardProgressItem *item = d->m_wizardProgress->addItem(title);
     item->addPage(pageId);
     d->m_wizardProgress->setStartPage(startId());
     if (!d->m_wizardProgress->startItem())
diff --git a/src/libs/utils/wizard.h b/src/libs/utils/wizard.h
index 78d8986d2c7fe80d6b13938ab30ff5bea152a7ad..ed9f5c4f0402c3fb920fcf37a6149e024b55aff9 100644
--- a/src/libs/utils/wizard.h
+++ b/src/libs/utils/wizard.h
@@ -40,6 +40,8 @@ class Wizard;
 class WizardProgress;
 class WizardPrivate;
 
+const char SHORT_TITLE_PROPERTY[] = "shortTitle";
+
 class QTCREATOR_UTILS_EXPORT Wizard : public QWizard
 {
     Q_OBJECT
diff --git a/src/plugins/coreplugin/basefilewizardfactory.cpp b/src/plugins/coreplugin/basefilewizardfactory.cpp
index 5e35d7ba235334ab21c0f9e3b6a7956995806bb0..c5add16214516d945e606e610aae43a46fbc8c35 100644
--- a/src/plugins/coreplugin/basefilewizardfactory.cpp
+++ b/src/plugins/coreplugin/basefilewizardfactory.cpp
@@ -329,26 +329,6 @@ bool BaseFileWizardFactory::writeFiles(const GeneratedFiles &files, QString *err
     return true;
 }
 
-/*!
-    Reads the \c shortTitle dynamic property of \a pageId and applies it as
-    the title of corresponding progress item.
-*/
-
-void BaseFileWizardFactory::applyExtensionPageShortTitle(Utils::Wizard *wizard, int pageId)
-{
-    if (pageId < 0)
-        return;
-    QWizardPage *p = wizard->page(pageId);
-    if (!p)
-        return;
-    Utils::WizardProgressItem *item = wizard->wizardProgress()->item(pageId);
-    if (!item)
-        return;
-    const QString shortTitle = p->property("shortTitle").toString();
-    if (!shortTitle.isEmpty())
-      item->setTitle(shortTitle);
-}
-
 /*!
     Overwrite to perform steps to be done after files are actually created.
 
@@ -529,7 +509,7 @@ BaseFileWizard *StandardFileWizardFactory::create(QWidget *parent, const WizardD
     wizard->setWindowTitle(tr("New %1").arg(displayName()));
     wizard->setPath(parameters.defaultPath());
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
     return wizard;
 }
 
diff --git a/src/plugins/coreplugin/basefilewizardfactory.h b/src/plugins/coreplugin/basefilewizardfactory.h
index 2ab73f0e5adbdf07ebe60bdc353c29ea54cebd4c..26261f77978406c92a394f8f7f6da88274cef422 100644
--- a/src/plugins/coreplugin/basefilewizardfactory.h
+++ b/src/plugins/coreplugin/basefilewizardfactory.h
@@ -112,7 +112,6 @@ public:
     void runWizard(const QString &path, QWidget *parent, const QString &platform, const QVariantMap &extraValues);
 
     static QString buildFileName(const QString &path, const QString &baseName, const QString &extension);
-    static void applyExtensionPageShortTitle(Utils::Wizard *wizard, int pageId);
 
 protected:
     typedef QList<QWizardPage *> WizardPageList;
diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp
index c36a048c30bbfe6928b818d738d1e1b09ddf9707..b9ee8310a2bfdce9748ca1efb1629906e7b00e57 100644
--- a/src/plugins/cppeditor/cppclasswizard.cpp
+++ b/src/plugins/cppeditor/cppclasswizard.cpp
@@ -39,6 +39,7 @@
 #include <utils/codegeneration.h>
 #include <utils/newclasswidget.h>
 #include <utils/qtcassert.h>
+#include <utils/wizard.h>
 
 #include <QDebug>
 #include <QTextStream>
@@ -81,6 +82,8 @@ ClassNamePage::ClassNamePage(QWidget *parent) :
     pageLayout->addItem(vSpacer);
 
     initParameters();
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));
 }
 
 // Retrieve settings of CppTools plugin.
@@ -115,8 +118,7 @@ CppClassWizardDialog::CppClassWizardDialog(QWidget *parent) :
     m_classNamePage(new ClassNamePage(this))
 {
     setWindowTitle(tr("C++ Class Wizard"));
-    const int classNameId = addPage(m_classNamePage);
-    wizardProgress()->item(classNameId)->setTitle(tr("Details"));
+    addPage(m_classNamePage);
 }
 
 void CppClassWizardDialog::setPath(const QString &path)
@@ -157,7 +159,7 @@ Core::BaseFileWizard *CppClassWizard::create(QWidget *parent, const Core::Wizard
 {
     CppClassWizardDialog *wizard = new CppClassWizardDialog(parent);
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
     wizard->setPath(parameters.defaultPath());
     return wizard;
 }
diff --git a/src/plugins/designer/cpp/formclasswizarddialog.cpp b/src/plugins/designer/cpp/formclasswizarddialog.cpp
index 6ca91ac133e8a00aa23171542a61359691afdd3b..a9e5af3ac87059ee104f0843ea0415f0e096ed36 100644
--- a/src/plugins/designer/cpp/formclasswizarddialog.cpp
+++ b/src/plugins/designer/cpp/formclasswizarddialog.cpp
@@ -51,13 +51,10 @@ FormClassWizardDialog::FormClassWizardDialog(const WizardPageList &extensionPage
     setWindowTitle(tr("Qt Designer Form Class"));
 
     setPage(FormPageId, m_formPage);
-    wizardProgress()->item(FormPageId)->setTitle(tr("Form Template"));
-
     setPage(ClassPageId, m_classPage);
-    wizardProgress()->item(ClassPageId)->setTitle(tr("Class Details"));
 
     foreach (QWizardPage *p, extensionPages)
-        Core::BaseFileWizardFactory::applyExtensionPageShortTitle(this, addPage(p));
+        addPage(p);
 }
 
 QString FormClassWizardDialog::path() const
diff --git a/src/plugins/designer/cpp/formclasswizardpage.cpp b/src/plugins/designer/cpp/formclasswizardpage.cpp
index 241753bb8a8c7112054446b9b22011311f9cec65..3defb7514f9d664e4c93cc9240052c88dbcb9f8e 100644
--- a/src/plugins/designer/cpp/formclasswizardpage.cpp
+++ b/src/plugins/designer/cpp/formclasswizardpage.cpp
@@ -31,6 +31,8 @@
 #include "ui_formclasswizardpage.h"
 #include "formclasswizardparameters.h"
 
+#include <utils/wizard.h>
+
 #include <coreplugin/icore.h>
 #include <coreplugin/mimedatabase.h>
 #include <cpptools/cpptoolsconstants.h>
@@ -59,6 +61,8 @@ FormClassWizardPage::FormClassWizardPage(QWidget * parent) :
     connect(m_ui->newClassWidget, SIGNAL(validChanged()), this, SLOT(slotValidChanged()));
 
     initFileGenerationSettings();
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Class Details"));
 }
 
 FormClassWizardPage::~FormClassWizardPage()
diff --git a/src/plugins/designer/formtemplatewizardpage.cpp b/src/plugins/designer/formtemplatewizardpage.cpp
index cba2bb2d0ad54a3367b43229cab11a7ededffaab..32640250856dc6ad6c7c51d6a95f6d7686782305 100644
--- a/src/plugins/designer/formtemplatewizardpage.cpp
+++ b/src/plugins/designer/formtemplatewizardpage.cpp
@@ -30,6 +30,8 @@
 #include "formtemplatewizardpage.h"
 #include "formeditorw.h"
 
+#include <utils/wizard.h>
+
 #if QT_VERSION >= 0x050000
 #    include <QDesignerNewFormWidgetInterface>
 #else
@@ -71,6 +73,7 @@ FormTemplateWizardPage::FormTemplateWizardPage(QWidget * parent) :
     layout->addWidget(m_newFormWidget);
 
     setLayout(layout);
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Form Template"));
 }
 
 bool FormTemplateWizardPage::isComplete() const
diff --git a/src/plugins/designer/formwizarddialog.cpp b/src/plugins/designer/formwizarddialog.cpp
index 5220eb90141816212565664a96f7138aad980664..3149fc20be5147cb3f3bf26611506fce49585d9c 100644
--- a/src/plugins/designer/formwizarddialog.cpp
+++ b/src/plugins/designer/formwizarddialog.cpp
@@ -56,15 +56,11 @@ void FormWizardDialog::init(const WizardPageList &extensionPages)
 {
     setWindowTitle(tr("Qt Designer Form"));
     setPage(FormPageId, m_formPage);
-    wizardProgress()->item(FormPageId)->setTitle(tr("Form Template"));
-
-    if (!extensionPages.empty()) {
-        int id = FirstExtensionPageId;
-        foreach (QWizardPage *p, extensionPages) {
-            setPage(id, p);
-            Core::BaseFileWizardFactory::applyExtensionPageShortTitle(this, id);
-            id++;
-        }
+
+    int id = FirstExtensionPageId;
+    foreach (QWizardPage *p, extensionPages) {
+       setPage(id, p);
+       ++id;
     }
 }
 
@@ -83,7 +79,6 @@ FormFileWizardDialog::FormFileWizardDialog(const WizardPageList &extensionPages,
     m_filePage(new Utils::FileWizardPage)
 {
     setPage(FilePageId, m_filePage);
-    wizardProgress()->item(FilePageId)->setTitle(tr("Location"));
     connect(m_filePage, SIGNAL(activated()),
             button(QWizard::FinishButton), SLOT(animateClick()));
 
diff --git a/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp b/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp
index e22ddd878b8778c5bde3c4689843135b6295c18c..ba7f67f5f5a52c550679ddaa3c4e69a754eac5b4 100644
--- a/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp
+++ b/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp
@@ -36,6 +36,8 @@
 #include <coreplugin/icore.h>
 #include <projectexplorer/selectablefilesmodel.h>
 
+#include <utils/wizard.h>
+
 #include <QVBoxLayout>
 #include <QLineEdit>
 #include <QPushButton>
@@ -61,6 +63,8 @@ FilesSelectionWizardPage::FilesSelectionWizardPage(GenericProjectWizardDialog *g
 
     layout->addWidget(m_view);
     layout->addWidget(m_label);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Files"));
 }
 
 void FilesSelectionWizardPage::createHideFileFilterControls(QVBoxLayout *layout)
diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp
index 89bce38ee9fc3719f416ed6e94b4b9ad250e2b92..1b58948d7c9bd98defef08c52a7110b8f3283803 100644
--- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp
@@ -69,16 +69,12 @@ GenericProjectWizardDialog::GenericProjectWizardDialog(QWidget *parent) :
     m_firstPage->setTitle(tr("Project Name and Location"));
     m_firstPage->setFileNameLabel(tr("Project name:"));
     m_firstPage->setPathLabel(tr("Location:"));
+    addPage(m_firstPage);
 
     // second page
     m_secondPage = new FilesSelectionWizardPage(this);
     m_secondPage->setTitle(tr("File Selection"));
-
-    const int firstPageId = addPage(m_firstPage);
-    wizardProgress()->item(firstPageId)->setTitle(tr("Location"));
-
-    const int secondPageId = addPage(m_secondPage);
-    wizardProgress()->item(secondPageId)->setTitle(tr("Files"));
+    addPage(m_secondPage);
 }
 
 QString GenericProjectWizardDialog::path() const
@@ -139,7 +135,7 @@ Core::BaseFileWizard *GenericProjectWizard::create(QWidget *parent, const Core::
     wizard->setPath(parameters.defaultPath());
 
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
 
     return wizard;
 }
diff --git a/src/plugins/glsleditor/glslfilewizard.cpp b/src/plugins/glsleditor/glslfilewizard.cpp
index b80cfa7374e51df3bd010fec1593cf6c5e297151..aa02e0d063b569d0901cdbcb6a72e13cdfc91db9 100644
--- a/src/plugins/glsleditor/glslfilewizard.cpp
+++ b/src/plugins/glsleditor/glslfilewizard.cpp
@@ -122,7 +122,7 @@ Core::BaseFileWizard *GLSLFileWizard::create(QWidget *parent, const Core::Wizard
     wizard->setWindowTitle(tr("New %1").arg(displayName()));
     wizard->setPath(parameters.defaultPath());
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
     return wizard;
 }
 
diff --git a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
index 177548b0be9e1fc4c956ee7fac54121c91b95710..db8f355013cef6b8c8f9283ee14250ec6aa033ff 100644
--- a/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
+++ b/src/plugins/projectexplorer/baseprojectwizarddialog.cpp
@@ -94,7 +94,6 @@ void BaseProjectWizardDialog::init()
         d->introPageId = d->desiredIntroPageId;
         setPage(d->desiredIntroPageId, d->introPage);
     }
-    wizardProgress()->item(d->introPageId)->setTitle(tr("Location"));
     connect(this, SIGNAL(accepted()), this, SLOT(slotAccepted()));
     connect(this, SIGNAL(nextClicked()), this, SLOT(nextClicked()));
 }
@@ -184,7 +183,7 @@ QString BaseProjectWizardDialog::uniqueProjectName(const QString &path)
 void BaseProjectWizardDialog::addExtensionPages(const QList<QWizardPage *> &wizardPageList)
 {
     foreach (QWizardPage *p,wizardPageList)
-        Core::BaseFileWizardFactory::applyExtensionPageShortTitle(this, addPage(p));
+        addPage(p);
 }
 
 QString BaseProjectWizardDialog::selectedPlatform() const
diff --git a/src/plugins/projectexplorer/customwizard/customwizard.cpp b/src/plugins/projectexplorer/customwizard/customwizard.cpp
index 723542be81a4bbe5a06b3782fffb17e36c7f15a2..954703fdc3982cd23fa33a6997f14e46ce2277ba 100644
--- a/src/plugins/projectexplorer/customwizard/customwizard.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizard.cpp
@@ -146,7 +146,7 @@ Core::BaseFileWizard *CustomWizard::create(QWidget *parent, const Core::WizardDi
     if (!parameters()->fieldPageTitle.isEmpty())
         customPage->setTitle(parameters()->fieldPageTitle);
     foreach (QWizardPage *ep, p.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(ep));
+        wizard->addPage(ep);
     if (CustomWizardPrivate::verbose)
         qDebug() << "initWizardDialog" << wizard << wizard->pageIds();
 
@@ -525,7 +525,7 @@ void CustomProjectWizard::initProjectWizardDialog(BaseProjectWizardDialog *w,
             cp->setTitle(pa->fieldPageTitle);
     }
     foreach (QWizardPage *ep, extensionPages)
-        BaseFileWizardFactory::applyExtensionPageShortTitle(w, w->addPage(ep));
+        w->addPage(ep);
     w->setPath(defaultPath);
     w->setProjectName(BaseProjectWizardDialog::uniqueProjectName(defaultPath));
 
diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp
index 1313b45365567db0205cfd8f4b633c8081676916..b7b2d93e5cc459d9e162bd60e027f75e3180c556 100644
--- a/src/plugins/projectexplorer/projectwizardpage.cpp
+++ b/src/plugins/projectexplorer/projectwizardpage.cpp
@@ -33,6 +33,7 @@
 
 #include <coreplugin/icore.h>
 #include <utils/fileutils.h>
+#include <utils/wizard.h>
 #include <vcsbase/vcsbaseconstants.h>
 
 #include <QDir>
@@ -61,7 +62,7 @@ ProjectWizardPage::ProjectWizardPage(QWidget *parent) :
     connect(m_ui->projectComboBox, SIGNAL(currentIndexChanged(int)),
             this, SLOT(slotProjectChanged(int)));
     connect(m_ui->vcsManageButton, SIGNAL(clicked()), this, SLOT(slotManageVcs()));
-    setProperty("shortTitle", tr("Summary"));
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Summary"));
 }
 
 ProjectWizardPage::~ProjectWizardPage()
diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp
index 08d658730865a3933e33564c9370624ea45cc14c..dd9ccbbcd0ffac0e6e63289c253caaeb6aa1b832 100644
--- a/src/plugins/projectexplorer/targetsetuppage.cpp
+++ b/src/plugins/projectexplorer/targetsetuppage.cpp
@@ -43,6 +43,7 @@
 #include <projectexplorer/ipotentialkit.h>
 #include <utils/qtcassert.h>
 #include <utils/qtcprocess.h>
+#include <utils/wizard.h>
 
 #include <QFileInfo>
 #include <QLabel>
@@ -179,6 +180,8 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) :
             this, SLOT(handleKitUpdate(ProjectExplorer::Kit*)));
     connect(m_importWidget, SIGNAL(importFrom(Utils::FileName)),
             this, SLOT(import(Utils::FileName)));
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Kits"));
 }
 
 void TargetSetupPage::initializePage()
diff --git a/src/plugins/pythoneditor/wizard/pythonclassnamepage.cpp b/src/plugins/pythoneditor/wizard/pythonclassnamepage.cpp
index 9b8923ec0975a177f334036e84ce050e4bfcf9fa..4bb92a19f42083025f5f64791e9ff7f9e0b0d19c 100644
--- a/src/plugins/pythoneditor/wizard/pythonclassnamepage.cpp
+++ b/src/plugins/pythoneditor/wizard/pythonclassnamepage.cpp
@@ -30,6 +30,8 @@
 #include "pythonclassnamepage.h"
 #include "../pythoneditorconstants.h"
 
+#include <utils/wizard.h>
+
 #include <coreplugin/icore.h>
 #include <coreplugin/mimedatabase.h>
 #include <utils/newclasswidget.h>
@@ -72,6 +74,8 @@ ClassNamePage::ClassNamePage(QWidget *parent)
     pageLayout->addItem(vSpacer);
 
     initParameters();
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));
 }
 
 ClassNamePage::~ClassNamePage()
diff --git a/src/plugins/pythoneditor/wizard/pythonclasswizard.cpp b/src/plugins/pythoneditor/wizard/pythonclasswizard.cpp
index 02d873299d0b931fe728bc4322fab07baade6efc..ac569f1093cf554ba1cb67f8b26ea674d0541efa 100644
--- a/src/plugins/pythoneditor/wizard/pythonclasswizard.cpp
+++ b/src/plugins/pythoneditor/wizard/pythonclasswizard.cpp
@@ -59,7 +59,7 @@ Core::BaseFileWizard *ClassWizard::create(QWidget *parent, const Core::WizardDia
 {
     ClassWizardDialog *wizard = new ClassWizardDialog(parent);
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
     wizard->setPath(parameters.defaultPath());
     wizard->setExtraValues(parameters.extraValues());
     return wizard;
diff --git a/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp b/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp
index a8ddd34376938472f76c23ff8494bda66eaf07ae..15ba7180878ad0da4e055700b2d6e80ddf9e119b 100644
--- a/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp
+++ b/src/plugins/pythoneditor/wizard/pythonclasswizarddialog.cpp
@@ -41,8 +41,7 @@ ClassWizardDialog::ClassWizardDialog(QWidget *parent) :
     m_classNamePage(new ClassNamePage(this))
 {
     setWindowTitle(tr("Python Class Wizard"));
-    const int classNameId = addPage(m_classNamePage.data());
-    wizardProgress()->item(classNameId)->setTitle(tr("Details"));
+    addPage(m_classNamePage.data());
 }
 
 ClassWizardDialog::~ClassWizardDialog()
diff --git a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
index 553bfd5a2c3e6e8fb8ea0f6d47e847d495412bfd..adc4af1ddd308a5eb85587d6cf2d500a0fb0051a 100644
--- a/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
+++ b/src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
@@ -67,7 +67,7 @@ Core::BaseFileWizard *FileWizard::create(QWidget *parent, const Core::WizardDial
     wizard->setWindowTitle(tr("New %1").arg(displayName()));
     wizard->setPath(parameters.defaultPath());
     foreach (QWizardPage *p, parameters.extensionPages())
-        applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
 
     return wizard;
 }
diff --git a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp
index e4686ee5707cd71194bc5c82922be914f105237b..f69369e4c865e6d98042536c8257afe1a889795f 100644
--- a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp
+++ b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp
@@ -90,17 +90,11 @@ AddLibraryWizard::AddLibraryWizard(const QString &fileName, QWidget *parent) :
 {
     setWindowTitle(tr("Add Library"));
     m_libraryTypePage = new LibraryTypePage(this);
+    addPage(m_libraryTypePage);
     m_detailsPage = new DetailsPage(this);
+    addPage(m_detailsPage);
     m_summaryPage = new SummaryPage(this);
-    const int libraryTypePageId = addPage(m_libraryTypePage);
-    const int detailsPageId = addPage(m_detailsPage);
-    const int summaryPageId = addPage(m_summaryPage);
-
-    Utils::WizardProgress *progress = wizardProgress();
-
-    progress->item(libraryTypePageId)->setTitle(tr("Type"));
-    progress->item(detailsPageId)->setTitle(tr("Details"));
-    progress->item(summaryPageId)->setTitle(tr("Summary"));
+    addPage(m_summaryPage);
 }
 
 AddLibraryWizard::~AddLibraryWizard()
@@ -184,6 +178,8 @@ LibraryTypePage::LibraryTypePage(AddLibraryWizard *parent)
 
     // select the default
     m_internalRadio->setChecked(true);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Type"));
 }
 
 AddLibraryWizard::LibraryKind LibraryTypePage::libraryKind() const
@@ -204,6 +200,8 @@ DetailsPage::DetailsPage(AddLibraryWizard *parent)
 {
     m_libraryDetailsWidget = new Ui::LibraryDetailsWidget();
     m_libraryDetailsWidget->setupUi(this);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));
 }
 
 bool DetailsPage::isComplete() const
@@ -281,6 +279,8 @@ SummaryPage::SummaryPage(AddLibraryWizard *parent)
     m_summaryLabel->setTextFormat(Qt::RichText);
     m_snippetLabel->setTextFormat(Qt::RichText);
     m_snippetLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Summary"));
 }
 
 void SummaryPage::initializePage()
diff --git a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp
index 6a957ee550217ca09cf298953a6f4aac98ddcbd5..77637fa6da1f35f3e56166be6fc75bb6233e3659 100644
--- a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp
+++ b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp
@@ -31,6 +31,8 @@
 #include "customwidgetwidgetswizardpage.h"
 #include "ui_customwidgetpluginwizardpage.h"
 
+#include <utils/wizard.h>
+
 namespace QmakeProjectManager {
 namespace Internal {
 
@@ -43,6 +45,8 @@ CustomWidgetPluginWizardPage::CustomWidgetPluginWizardPage(QWidget *parent) :
     m_ui->setupUi(this);
     connect(m_ui->collectionClassEdit, SIGNAL(textEdited(QString)), this, SLOT(slotCheckCompleteness()));
     connect(m_ui->pluginNameEdit, SIGNAL(textEdited(QString)), this, SLOT(slotCheckCompleteness()));
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Plugin Details"));
 }
 
 CustomWidgetPluginWizardPage::~CustomWidgetPluginWizardPage()
diff --git a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp
index e029ab5c638a14c8b9409f672044380c561d2c22..006b9f226e8b72d55f365345a14efa0f1db2b440 100644
--- a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp
+++ b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwidgetswizardpage.cpp
@@ -33,6 +33,8 @@
 
 #include <coreplugin/coreconstants.h>
 
+#include <utils/wizard.h>
+
 #include <QTimer>
 
 #include <QStackedLayout>
@@ -63,6 +65,8 @@ CustomWidgetWidgetsWizardPage::CustomWidgetWidgetsWizardPage(QWidget *parent) :
 
     connect(m_ui->classList, SIGNAL(currentRowChanged(int)),
             this, SLOT(slotCurrentRowChanged(int)));
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Custom Widgets"));
 }
 
 CustomWidgetWidgetsWizardPage::~CustomWidgetWidgetsWizardPage()
diff --git a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.cpp b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.cpp
index 60e1ee69520842742843e896ffd5e536bf79a9a4..5e1eb8da2e048d78dc440c1e974820a71b515e0d 100644
--- a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.cpp
+++ b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.cpp
@@ -64,8 +64,7 @@ CustomWidgetWizardDialog::CustomWidgetWizardDialog(const QString &templateName,
                                                    const Core::WizardDialogParameters &parameters) :
     BaseQmakeProjectWizardDialog(false, parent, parameters),
     m_widgetsPage(new CustomWidgetWidgetsWizardPage),
-    m_pluginPage(new CustomWidgetPluginWizardPage),
-    m_widgetPageId(-1), m_pluginPageId(-1)
+    m_pluginPage(new CustomWidgetPluginWizardPage)
 {
     setWindowIcon(icon);
     setWindowTitle(templateName);
@@ -75,10 +74,8 @@ CustomWidgetWizardDialog::CustomWidgetWizardDialog(const QString &templateName,
 
     if (!parameters.extraValues().contains(QLatin1String(ProjectExplorer::Constants::PROJECT_KIT_IDS)))
         addTargetSetupPage();
-    m_widgetPageId = addPage(m_widgetsPage);
+    addPage(m_widgetsPage);
     m_pluginPageId = addPage(m_pluginPage);
-    wizardProgress()->item(m_widgetPageId)->setTitle(tr("Custom Widgets"));
-    wizardProgress()->item(m_pluginPageId)->setTitle(tr("Plugin Details"));
 
     addExtensionPages(parameters.extensionPages());
     connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int)));
diff --git a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.h b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.h
index 5408407f4f10087a019ce92600efeebef23f8883..8f75a98e9545f8cf35e6ef38905bd78cafe2f379 100644
--- a/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.h
+++ b/src/plugins/qmakeprojectmanager/customwidgetwizard/customwidgetwizarddialog.h
@@ -63,7 +63,6 @@ private slots:
 private:
     CustomWidgetWidgetsWizardPage *m_widgetsPage;
     CustomWidgetPluginWizardPage *m_pluginPage;
-    int m_widgetPageId;
     int m_pluginPageId;
 };
 
diff --git a/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.cpp
index fc6fb90acb95c9a1c0e6ea4ce858cf9d46556562..2bcd4fc682c49599b2472edefbb52bf6eef23e38 100644
--- a/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.cpp
@@ -66,7 +66,7 @@ AbstractMobileAppWizardDialog::AbstractMobileAppWizardDialog(QWidget *parent,
 void AbstractMobileAppWizardDialog::addKitsPage()
 {
     if (m_kitsPage)
-        addPageWithTitle(m_kitsPage, tr("Kits"));
+        addPage(m_kitsPage);
 }
 
 void AbstractMobileAppWizardDialog::updateKitsPage()
@@ -91,13 +91,6 @@ ProjectExplorer::TargetSetupPage *AbstractMobileAppWizardDialog::kitsPage() cons
     return m_kitsPage;
 }
 
-int AbstractMobileAppWizardDialog::addPageWithTitle(QWizardPage *page, const QString &title)
-{
-    const int pageId = addPage(page);
-    wizardProgress()->item(pageId)->setTitle(title);
-    return pageId;
-}
-
 Core::BaseFileWizard *AbstractMobileAppWizard::create(QWidget *parent, const Core::WizardDialogParameters &parameters) const
 {
     AbstractMobileAppWizardDialog * const wdlg = createInternal(parent, parameters);
diff --git a/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.h b/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.h
index bb9e6a798302ca7517b33b5fd2d473eeb61b7eee..6be20b52e9c60ec9b6b18dde68b065da5a362710 100644
--- a/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.h
+++ b/src/plugins/qmakeprojectmanager/wizards/abstractmobileappwizard.h
@@ -55,7 +55,6 @@ public:
     ProjectExplorer::TargetSetupPage *kitsPage() const;
 
 protected:
-    int addPageWithTitle(QWizardPage *page, const QString &title);
     void addKitsPage();
     void updateKitsPage();
 
diff --git a/src/plugins/qmakeprojectmanager/wizards/filespage.cpp b/src/plugins/qmakeprojectmanager/wizards/filespage.cpp
index 1c85849b36e82c646c4bb88ea2b257ea2af762d7..3f72a8a7376129f1e547aa3e929cc006e55d5527 100644
--- a/src/plugins/qmakeprojectmanager/wizards/filespage.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/filespage.cpp
@@ -30,9 +30,11 @@
 #include "filespage.h"
 
 #include <utils/newclasswidget.h>
+#include <utils/wizard.h>
 
 #include <QLabel>
 #include <QLayout>
+#include <QVariant>
 
 namespace QmakeProjectManager {
 namespace Internal {
@@ -61,6 +63,8 @@ FilesPage::FilesPage(QWidget *parent) :
     setLayout(vlayout);
 
     connect(m_newClassWidget, SIGNAL(validChanged()), this, SIGNAL(completeChanged()));
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));
 }
 
 void FilesPage::setSuffixes(const QString &header, const QString &source,  const QString &form)
diff --git a/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp
index 5067dd80901c484c8588ad69f17dcbc6ca60d9c8..f253975f2c83d982cc22e084632d42af101cc97a 100644
--- a/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/guiappwizarddialog.cpp
@@ -66,8 +66,7 @@ GuiAppWizardDialog::GuiAppWizardDialog(const QString &templateName,
 
     m_filesPage->setFormInputCheckable(true);
     m_filesPage->setClassTypeComboVisible(false);
-    const int filesPageId = addPage(m_filesPage);
-    wizardProgress()->item(filesPageId)->setTitle(tr("Details"));
+    addPage(m_filesPage);
 
     addExtensionPages(parameters.extensionPages());
 }
diff --git a/src/plugins/qmakeprojectmanager/wizards/modulespage.cpp b/src/plugins/qmakeprojectmanager/wizards/modulespage.cpp
index 7178d16367a21fdc48d4ace128b3ae011157312c..5dbd563931768c3cfe52c573b30420c0e0cefa05 100644
--- a/src/plugins/qmakeprojectmanager/wizards/modulespage.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/modulespage.cpp
@@ -29,6 +29,8 @@
 
 #include "modulespage.h"
 
+#include <utils/wizard.h>
+
 #include <qmakeprojectmanager/qtmodulesinfo.h>
 
 #include <QDebug>
@@ -73,6 +75,8 @@ ModulesPage::ModulesPage(QWidget *parent)
 
     vlayout->addLayout(layout);
     setLayout(vlayout);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Modules"));
 }
 
 // Return the key that goes into the Qt config line for a module
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtquickappwizard.cpp b/src/plugins/qmakeprojectmanager/wizards/qtquickappwizard.cpp
index be9bff9fa626e773d85298772a3d4819dc4a3ac1..ba56fbddb288ebcf059268922c8783d647161503 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtquickappwizard.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/qtquickappwizard.cpp
@@ -68,7 +68,7 @@ QtQuickAppWizardDialog::QtQuickAppWizardDialog(QWidget *parent,
     setIntroDescription(tr("This wizard generates a Qt Quick Application project."));
 
     m_componentSetPage = new Internal::QtQuickComponentSetPage;
-    addPageWithTitle(m_componentSetPage, tr("Component Set"));
+    addPage(m_componentSetPage);
 
     addKitsPage();
 }
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtquickappwizardpages.cpp b/src/plugins/qmakeprojectmanager/wizards/qtquickappwizardpages.cpp
index 490b50b49241752192fe9f4a8eb760b78902707a..c76ff0fa764a5d9c26ac5e03a7be9acc25db46ba 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtquickappwizardpages.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/qtquickappwizardpages.cpp
@@ -28,6 +28,9 @@
 ****************************************************************************/
 
 #include "qtquickappwizardpages.h"
+
+#include <utils/wizard.h>
+
 #include <QComboBox>
 #include <QLabel>
 #include <QVBoxLayout>
@@ -67,6 +70,8 @@ QtQuickComponentSetPage::QtQuickComponentSetPage(QWidget *parent)
 
     mainLayout->addLayout(l);
     mainLayout->addWidget(d->m_descriptionLabel);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Component Set"));
 }
 
 QtQuickComponentSetPage::~QtQuickComponentSetPage()
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp b/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp
index eed851003311c0353d6c9ee9064ac765ba645b58..f159b6fbb098175e8667d6270a6d71e50df17f47 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/qtwizard.cpp
@@ -197,11 +197,9 @@ int BaseQmakeProjectWizardDialog::addModulesPage(int id)
         return -1;
     if (id >= 0) {
         setPage(id, m_modulesPage);
-        wizardProgress()->item(id)->setTitle(tr("Modules"));
         return id;
     }
     const int newId = addPage(m_modulesPage);
-    wizardProgress()->item(newId)->setTitle(tr("Modules"));
     return newId;
 }
 
@@ -222,7 +220,6 @@ int BaseQmakeProjectWizardDialog::addTargetSetupPage(int id)
         setPage(id, m_targetSetupPage);
     else
         id = addPage(m_targetSetupPage);
-    wizardProgress()->item(id)->setTitle(tr("Kits"));
 
     return id;
 }
@@ -305,7 +302,7 @@ QList<Core::Id> BaseQmakeProjectWizardDialog::selectedKits() const
 void BaseQmakeProjectWizardDialog::addExtensionPages(const QList<QWizardPage *> &wizardPageList)
 {
     foreach (QWizardPage *p,wizardPageList)
-        Core::BaseFileWizardFactory::applyExtensionPageShortTitle(this, addPage(p));
+        addPage(p);
 }
 
 void BaseQmakeProjectWizardDialog::generateProfileName(const QString &name, const QString &path)
diff --git a/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.cpp b/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.cpp
index cff5c17cdc71a9a49f62c3d9538589cd05da2e8a..84e0f7395cbb90e7276035bd76c9951947863632 100644
--- a/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.cpp
@@ -53,8 +53,7 @@ TestWizardDialog::TestWizardDialog(const QString &templateName,
                                    QWidget *parent,
                                    const Core::WizardDialogParameters &parameters)  :
     BaseQmakeProjectWizardDialog(true, parent, parameters),
-    m_testPage(new TestWizardPage),
-    m_testPageId(-1), m_modulesPageId(-1)
+    m_testPage(new TestWizardPage)
 {
     setIntroDescription(tr("This wizard generates a Qt Unit Test "
                            "consisting of a single source file with a test class."));
@@ -63,9 +62,8 @@ TestWizardDialog::TestWizardDialog(const QString &templateName,
     setSelectedModules(QLatin1String("core testlib"), true);
     if (!parameters.extraValues().contains(QLatin1String(ProjectExplorer::Constants::PROJECT_KIT_IDS)))
         addTargetSetupPage();
-    m_modulesPageId = addModulesPage();
+    addModulesPage();
     m_testPageId = addPage(m_testPage);
-    wizardProgress()->item(m_testPageId)->setTitle(tr("Details"));
     addExtensionPages(parameters.extensionPages());
     connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int)));
 }
diff --git a/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.h b/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.h
index 6ac6c1c13b9f5c9d56da168e08f0c48d641f0fcb..f9a30202cf5e7c53ce3c9c0ff0ac5303b343172a 100644
--- a/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.h
+++ b/src/plugins/qmakeprojectmanager/wizards/testwizarddialog.h
@@ -76,7 +76,6 @@ private slots:
 private:
     TestWizardPage *m_testPage;
     int m_testPageId;
-    int m_modulesPageId;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qmakeprojectmanager/wizards/testwizardpage.cpp b/src/plugins/qmakeprojectmanager/wizards/testwizardpage.cpp
index b71db214ae7f47274344419075a1bd203279b7f5..6f6020e364ae6650c0f1c9b733730b3b79e92ce5 100644
--- a/src/plugins/qmakeprojectmanager/wizards/testwizardpage.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/testwizardpage.cpp
@@ -32,6 +32,8 @@
 #include "qtwizard.h"
 #include "ui_testwizardpage.h"
 
+#include <utils/wizard.h>
+
 namespace QmakeProjectManager {
 namespace Internal {
 
@@ -58,6 +60,8 @@ TestWizardPage::TestWizardPage(QWidget *parent) :
             this, SLOT(slotUpdateValid()));
     connect(ui->fileLineEdit, SIGNAL(validChanged()),
             this, SLOT(slotUpdateValid()));
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));
 }
 
 TestWizardPage::~TestWizardPage()
diff --git a/src/plugins/qmljseditor/jsfilewizard.cpp b/src/plugins/qmljseditor/jsfilewizard.cpp
index c84eb2924735f1ea78a9c145a205bcafa9b209c3..da3a3d6d2379002e456d19473f99e92e659d5b5f 100644
--- a/src/plugins/qmljseditor/jsfilewizard.cpp
+++ b/src/plugins/qmljseditor/jsfilewizard.cpp
@@ -129,7 +129,7 @@ Core::BaseFileWizard *JsFileWizard::create(QWidget *parent, const Core::WizardDi
     wizardDialog->setWindowTitle(tr("New %1").arg(displayName()));
     wizardDialog->setPath(parameters.defaultPath());
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(p));
+        wizardDialog->addPage(p);
     return wizardDialog;
 }
 
diff --git a/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp b/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp
index f65ebdfdfa647c0c3bf08a35cb963865836b86ba..b5054626e91842e195eb3aa035ca72db5ca63770 100644
--- a/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp
+++ b/src/plugins/qmlprojectmanager/qmlapplicationwizard.cpp
@@ -59,8 +59,7 @@ QmlApplicationWizardDialog::QmlApplicationWizardDialog(QWidget *parent, const Wi
     setWindowTitle(tr("New Qt Quick UI Project"));
     setIntroDescription(tr("This wizard generates a Qt Quick UI project."));
     m_componentSetPage = new QmlComponentSetPage;
-    const int pageId = addPage(m_componentSetPage);
-    wizardProgress()->item(pageId)->setTitle(tr("Component Set"));
+    addPage(m_componentSetPage);
 }
 
 TemplateInfo QmlApplicationWizardDialog::templateInfo() const
@@ -94,7 +93,7 @@ Core::BaseFileWizard *QmlApplicationWizard::create(QWidget *parent, const Wizard
     wizardDialog->setProjectName(QmlApplicationWizardDialog::uniqueProjectName(parameters.defaultPath()));
 
     foreach (QWizardPage *page, parameters.extensionPages())
-        applyExtensionPageShortTitle(wizardDialog, wizardDialog->addPage(page));
+        wizardDialog->addPage(page);
 
     return wizardDialog;
 }
diff --git a/src/plugins/qmlprojectmanager/qmlapplicationwizardpages.cpp b/src/plugins/qmlprojectmanager/qmlapplicationwizardpages.cpp
index c0d4fd495e34d4d001848fc8c3c44c8dc8a8fa4d..18f54b2c0a97c5118edf0454f4583d40285f3ff7 100644
--- a/src/plugins/qmlprojectmanager/qmlapplicationwizardpages.cpp
+++ b/src/plugins/qmlprojectmanager/qmlapplicationwizardpages.cpp
@@ -29,6 +29,9 @@
 
 #include "qmlapplicationwizardpages.h"
 #include "qmlapp.h"
+
+#include <utils/wizard.h>
+
 #include <QComboBox>
 #include <QLabel>
 #include <QVBoxLayout>
@@ -69,6 +72,8 @@ QmlComponentSetPage::QmlComponentSetPage(QWidget *parent)
 
     mainLayout->addLayout(l);
     mainLayout->addWidget(d->m_detailedDescriptionLabel);
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Component Set"));
 }
 
 QmlComponentSetPage::~QmlComponentSetPage()
diff --git a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp
index 4c70678fcb051bab8a70f6cee9d3896a4d7f7763..9202edaa81c87d5af3fbd2e91bb8a3ff0db79b24 100644
--- a/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp
+++ b/src/plugins/qnx/cascadesimport/cascadesimportwizard.cpp
@@ -69,16 +69,13 @@ CascadesImportWizardDialog::CascadesImportWizardDialog(QWidget *parent) :
 
     m_srcProjectPage = new SrcProjectWizardPage(this);
     m_srcProjectPage->setTitle(tr("Momentics Cascades Project Name and Location"));
+    addPage(m_srcProjectPage);
 
     m_destProjectPage = new Utils::ProjectIntroPage(this);
     m_destProjectPage->setTitle(tr("Project Name and Location"));
     m_destProjectPage->setPath(Core::DocumentManager::projectsDirectory());
-
-    const int srcProjectPageId = addPage(m_srcProjectPage);
-    wizardProgress()->item(srcProjectPageId)->setTitle(tr("Momentics"));
-
     const int destProjectPageId = addPage(m_destProjectPage);
-    wizardProgress()->item(destProjectPageId)->setTitle(tr("Qt Creator"));
+    wizardProgress()->item(destProjectPageId)->setTitle(tr("Qt Creator")); // Override default name
 
     connect(m_srcProjectPage, SIGNAL(validPathChanged(QString)), this, SLOT(onSrcProjectPathChanged(QString)));
 }
@@ -130,7 +127,7 @@ Core::BaseFileWizard *CascadesImportWizard::create(QWidget *parent,
     CascadesImportWizardDialog *wizard = new CascadesImportWizardDialog(parent);
 
     foreach (QWizardPage *p, parameters.extensionPages())
-        BaseFileWizardFactory::applyExtensionPageShortTitle(wizard, wizard->addPage(p));
+        wizard->addPage(p);
 
     return wizard;
 }
diff --git a/src/plugins/qnx/cascadesimport/srcprojectwizardpage.cpp b/src/plugins/qnx/cascadesimport/srcprojectwizardpage.cpp
index 0e7fa7445aaf305acab2a97df2f8a4fc3b51f172..9f3fb55c896561299726fb3653bd8ca23caad602 100644
--- a/src/plugins/qnx/cascadesimport/srcprojectwizardpage.cpp
+++ b/src/plugins/qnx/cascadesimport/srcprojectwizardpage.cpp
@@ -30,6 +30,8 @@
 #include "srcprojectwizardpage.h"
 #include "ui_srcprojectwizardpage.h"
 
+#include <utils/wizard.h>
+
 #include <QDir>
 
 namespace Qnx {
@@ -44,6 +46,8 @@ SrcProjectWizardPage::SrcProjectWizardPage(QWidget *parent)
     connect(ui->pathChooser, SIGNAL(pathChanged(QString)), this, SLOT(onPathChooserPathChanged(QString)));
 
     setPath(QDir::homePath());
+
+    setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Momentics"));
 }
 
 SrcProjectWizardPage::~SrcProjectWizardPage()