diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp
index 789bdf48032238244f38c405abed83bb2c7e5094..802513df07a1366d2128c6b1b5ddc2297fde26c4 100644
--- a/src/plugins/coreplugin/basefilewizard.cpp
+++ b/src/plugins/coreplugin/basefilewizard.cpp
@@ -530,7 +530,7 @@ QStringList BaseFileWizard::runWizard(const QString &path, QWidget *parent)
         }
         if (firstExtensionPageHit)
             foreach (IFileWizardExtension *ex, extensions)
-                ex->firstExtensionPageShown(files, generatedProjectFilePath(wizard.data()));
+                ex->firstExtensionPageShown(files);
         if (accepted)
             break;
     }
@@ -561,7 +561,7 @@ QStringList BaseFileWizard::runWizard(const QString &path, QWidget *parent)
     // Run the extensions
     foreach (IFileWizardExtension *ex, extensions) {
         bool remove;
-        if (!ex->process(files, generatedProjectFilePath(wizard.data()), &remove, &errorMessage)) {
+        if (!ex->process(files, &remove, &errorMessage)) {
             QMessageBox::critical(parent, tr("File Generation Failure"), errorMessage);
             return QStringList();
         }
@@ -617,12 +617,6 @@ void BaseFileWizard::applyExtensionPageShortTitle(Utils::Wizard *wizard, int pag
       item->setTitle(shortTitle);
 }
 
-QString BaseFileWizard::generatedProjectFilePath(const QWizard *wizard) const
-{
-    Q_UNUSED(wizard)
-    return QString();
-}
-
 bool BaseFileWizard::postGenerateFiles(const QWizard *, const GeneratedFiles &l, QString *errorMessage)
 {
     return BaseFileWizard::postGenerateOpenEditors(l, errorMessage);
diff --git a/src/plugins/coreplugin/basefilewizard.h b/src/plugins/coreplugin/basefilewizard.h
index aa130b073ac5b3284ed314a370594024e13efa87..133f21340fcc9c18ecf0bb69ce17be37c825d636 100644
--- a/src/plugins/coreplugin/basefilewizard.h
+++ b/src/plugins/coreplugin/basefilewizard.h
@@ -211,9 +211,6 @@ protected:
      * to create files with CustomGeneratorAttribute set. */
     virtual bool writeFiles(const GeneratedFiles &files, QString *errorMessage);
 
-    // Overwrite for ProjectWizard kind and return the path to the generated project file
-    virtual QString generatedProjectFilePath(const QWizard *wizard) const;
-
     /* Overwrite to perform steps to be done after files are actually created.
      * The default implementation opens editors with the newly generated files. */
     virtual bool postGenerateFiles(const QWizard *w, const GeneratedFiles &l, QString *errorMessage);
diff --git a/src/plugins/coreplugin/ifilewizardextension.h b/src/plugins/coreplugin/ifilewizardextension.h
index 18172f5ba2df78f424abd2e15c0fb1916c2a0b25..9fec37326bb9ef8974b4e883c55fcb5aec2521d1 100644
--- a/src/plugins/coreplugin/ifilewizardextension.h
+++ b/src/plugins/coreplugin/ifilewizardextension.h
@@ -58,16 +58,13 @@ public:
 
     /* Process the files using the extension parameters */
     virtual bool process(const QList<GeneratedFile> &files,
-                         const QString &generatedProjectFilePath,
                          bool *removeOpenProjectAttribute,
                          QString *errorMessage) = 0;
 
 public slots:
     /* Notification about the first extension page being shown. */
-    virtual void firstExtensionPageShown(const QList<GeneratedFile> &files,
-                                         const QString &generatedProjectFilePath) {
+    virtual void firstExtensionPageShown(const QList<GeneratedFile> &files) {
         Q_UNUSED(files)
-        Q_UNUSED(generatedProjectFilePath)
         }
 };
 
diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp
index 6f53486db53160b125ef831ef87a86782bd2e857..b7f184e3e41f7f22285435b7930e188e2d5ba904 100644
--- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp
@@ -231,17 +231,6 @@ Core::GeneratedFiles GenericProjectWizard::generateFiles(const QWizard *w,
     return files;
 }
 
-QString GenericProjectWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const GenericProjectWizardDialog *wizard = qobject_cast<const GenericProjectWizardDialog *>(w);
-    const QString projectPath = wizard->path();
-    const QDir dir(projectPath);
-    const QString projectName = wizard->projectName();
-    const QString creatorFileName = QFileInfo(dir, projectName + QLatin1String(".creator")).absoluteFilePath();
-
-    return creatorFileName;
-}
-
 bool GenericProjectWizard::postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l, QString *errorMessage)
 {
     Q_UNUSED(w);
diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.h b/src/plugins/genericprojectmanager/genericprojectwizard.h
index 9925e92d139300bcd6ccae8e2371d855556d4ff0..833d89ee1f27dcefa467bb68a07eeba5fb2bd138 100644
--- a/src/plugins/genericprojectmanager/genericprojectwizard.h
+++ b/src/plugins/genericprojectmanager/genericprojectwizard.h
@@ -81,8 +81,6 @@ protected:
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
 
-    virtual QString generatedProjectFilePath(const QWizard *w) const;
-
     virtual bool postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l, QString *errorMessage);
 
     bool isValidDir(const QFileInfo &fileInfo) const;
diff --git a/src/plugins/projectexplorer/customwizard/customwizard.cpp b/src/plugins/projectexplorer/customwizard/customwizard.cpp
index cb8eab04fcc215437eecf0b2f9809daa2c63cf23..2a84d2ed5721b772671b33e1bd2f70b16b161a4e 100644
--- a/src/plugins/projectexplorer/customwizard/customwizard.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizard.cpp
@@ -521,13 +521,6 @@ bool CustomProjectWizard::postGenerateOpen(const Core::GeneratedFiles &l, QStrin
     return BaseFileWizard::postGenerateOpenEditors(l, errorMessage);
 }
 
-QString CustomProjectWizard::generatedProjectFilePath(const QWizard *) const
-{
-    if (CustomWizardPrivate::verbose)
-        qDebug("CustomProjectWizard::generatedProjectFilePath: '%s'", qPrintable(context()->projectFilePath));
-    return context()->projectFilePath;
-}
-
 bool CustomProjectWizard::postGenerateFiles(const QWizard *, const Core::GeneratedFiles &l, QString *errorMessage)
 {
     if (CustomWizardPrivate::verbose)
diff --git a/src/plugins/projectexplorer/customwizard/customwizard.h b/src/plugins/projectexplorer/customwizard/customwizard.h
index fd864458dd8c75f8dc8cf41411ecc613afe9167a..4ebaf0f557fe4e587f7aa2c94e7b2485ebda092d 100644
--- a/src/plugins/projectexplorer/customwizard/customwizard.h
+++ b/src/plugins/projectexplorer/customwizard/customwizard.h
@@ -164,7 +164,6 @@ signals:
     void projectLocationChanged(const QString &path);
 
 protected:
-    QString generatedProjectFilePath(const QWizard *wizard) const;
     virtual bool postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l, QString *errorMessage);
 
     void initProjectWizardDialog(BaseProjectWizardDialog *w, const QString &defaultPath,
diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp
index 5ff438bccf67778a09bcdba28833ff2be08e4435..c0d77b1387a775f4aa739f7052588ca6ccb96fd5 100644
--- a/src/plugins/projectexplorer/projectfilewizardextension.cpp
+++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp
@@ -224,11 +224,18 @@ static int findMatchingProject(const QList<ProjectEntry> &projects,
     return bestMatch;
 }
 
+static QString generatedProjectFilePath(const QList<Core::GeneratedFile> &files)
+{
+    foreach (const Core::GeneratedFile file, files)
+        if (file.attributes() & Core::GeneratedFile::OpenProjectAttribute)
+            return file.path();
+    return QString();
+}
+
 void ProjectFileWizardExtension::firstExtensionPageShown(
-        const QList<Core::GeneratedFile> &files,
-        const QString &generatedProjectFilePath)
+        const QList<Core::GeneratedFile> &files)
 {
-    initProjectChoices(generatedProjectFilePath);
+    initProjectChoices(generatedProjectFilePath(files));
 
     if (debugExtension)
         qDebug() << Q_FUNC_INFO << files.size();
@@ -357,33 +364,32 @@ void ProjectFileWizardExtension::initProjectChoices(const QString &generatedProj
 
 bool ProjectFileWizardExtension::process(
         const QList<Core::GeneratedFile> &files,
-        const QString &generatedProjectFilePath,
         bool *removeOpenProjectAttribute, QString *errorMessage)
 {
-    return processProject(files, generatedProjectFilePath,
-                          removeOpenProjectAttribute, errorMessage) &&
+    return processProject(files, removeOpenProjectAttribute, errorMessage) &&
            processVersionControl(files, errorMessage);
 }
 
 // Add files to project && version control
 bool ProjectFileWizardExtension::processProject(
         const QList<Core::GeneratedFile> &files,
-        const QString &generatedProjectFilePath,
         bool *removeOpenProjectAttribute, QString *errorMessage)
 {
     typedef QMultiMap<FileType, QString> TypeFileMap;
 
     *removeOpenProjectAttribute = false;
 
+    QString generatedProject = generatedProjectFilePath(files);
+
     // Add files to  project (Entry at 0 is 'None').
     const int projectIndex = m_context->page->currentProjectIndex() - 1;
     if (projectIndex < 0 || projectIndex >= m_context->projects.size())
         return true;
     ProjectNode *project = m_context->projects.at(projectIndex).node;
     if (m_context->wizard->kind() == Core::IWizard::ProjectWizard) {
-        if (!project->addSubProjects(QStringList(generatedProjectFilePath))) {
+        if (!project->addSubProjects(QStringList(generatedProject))) {
             *errorMessage = tr("Failed to add subproject '%1'\nto project '%2'.")
-                            .arg(generatedProjectFilePath).arg(project->path());
+                            .arg(generatedProject).arg(project->path());
             return false;
         }
         *removeOpenProjectAttribute = true;
diff --git a/src/plugins/projectexplorer/projectfilewizardextension.h b/src/plugins/projectexplorer/projectfilewizardextension.h
index 5c9dbe0d623ef0758685d197f248d6d82a2930d2..6c3d77c4bfa95431b29ab04b54eb069d503ed28e 100644
--- a/src/plugins/projectexplorer/projectfilewizardextension.h
+++ b/src/plugins/projectexplorer/projectfilewizardextension.h
@@ -51,18 +51,15 @@ public:
 
     virtual QList<QWizardPage *> extensionPages(const Core::IWizard *wizard);
     virtual bool process(const QList<Core::GeneratedFile> &files,
-                         const QString &generatedProjectFilePath,
                          bool *removeOpenProjectAttribute, QString *errorMessage);
 
 public slots:
-    virtual void firstExtensionPageShown(const QList<Core::GeneratedFile> &files,
-                                         const QString &generatedProjectFilePath);
+    virtual void firstExtensionPageShown(const QList<Core::GeneratedFile> &files);
 
 private:
     void initProjectChoices(const QString &generatedProjectFilePath);
     void initializeVersionControlChoices();
     bool processProject(const QList<Core::GeneratedFile> &files,
-                        const QString &generatedProjectFilePath,
                         bool *removeOpenProjectAttribute, QString *errorMessage);
     bool processVersionControl(const QList<Core::GeneratedFile> &files, QString *errorMessage);
 
diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp
index db7e72b44c637d81f4acfee0aae4c1335286be0a..c59d5f321f03c69e72488a99f22d0c264c4e6675 100644
--- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp
+++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.cpp
@@ -75,16 +75,5 @@ Core::GeneratedFiles CustomWidgetWizard::generateFiles(const QWizard *w,
     return PluginGenerator::generatePlugin(p, *(cw->pluginOptions()), errorMessage);
 }
 
-QString CustomWidgetWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const CustomWidgetWizardDialog *cw = qobject_cast<const CustomWidgetWizardDialog *>(w);
-    const QChar slash = QLatin1Char('/');
-    QString baseDir = cw->path();
-    baseDir += slash;
-    baseDir += cw->projectName();
-    baseDir += slash;
-    return baseDir + cw->projectName() + QLatin1String(".pro");
-}
-
 } // namespace Internal
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h
index 076277496717e2d82a0a56a863fea2059e507fa4..b18bad90c32c699093e9c980f41144aa9f0a89d9 100644
--- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h
+++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizard.h
@@ -50,7 +50,6 @@ protected:
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
 
-    virtual QString generatedProjectFilePath(const QWizard *w) const;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp
index 091d49eb4b01a71db5e71348dfa400cade7b2bb9..fa8dc638407da5ed1b85af197cb0eb4e0256828d 100644
--- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.cpp
@@ -104,14 +104,5 @@ Core::GeneratedFiles
     return Core::GeneratedFiles() <<  source << profile;
 }
 
-QString ConsoleAppWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const ConsoleAppWizardDialog *wizard = qobject_cast< const ConsoleAppWizardDialog *>(w);
-    const QtProjectParameters params = wizard->parameters();
-    const QString projectPath = params.projectPath();
-
-    return Core::BaseFileWizard::buildFileName(projectPath, params.fileName, profileSuffix());
-}
-
 } // namespace Internal
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizard.h b/src/plugins/qt4projectmanager/wizards/consoleappwizard.h
index 9ad1471869d788c6c2dea7b772bae5d350e9fc64..de21cda794fd706b2c56c6815f73a4718317e761 100644
--- a/src/plugins/qt4projectmanager/wizards/consoleappwizard.h
+++ b/src/plugins/qt4projectmanager/wizards/consoleappwizard.h
@@ -51,8 +51,6 @@ protected:
 
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
-
-    QString generatedProjectFilePath(const QWizard *w) const;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp
index f5367d8462d7b9b8cd2e13935d327ee7769bc896..63cbf6fe07d22d0f2c49df67f05bed3eecd61237 100644
--- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.cpp
@@ -74,13 +74,5 @@ Core::GeneratedFiles
     return Core::GeneratedFiles() << profile;
 }
 
-QString EmptyProjectWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const EmptyProjectWizardDialog *wizard = qobject_cast< const EmptyProjectWizardDialog *>(w);
-    const QtProjectParameters params = wizard->parameters();
-    const QString projectPath = params.projectPath();
-    return Core::BaseFileWizard::buildFileName(projectPath, params.fileName, profileSuffix());
-}
-
 } // namespace Internal
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h
index d951046c9085bfdfe4fdee6dc8ef7e27939aea17..038b47a6bc1647da97ed4b2b2f35900551eec9db 100644
--- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h
+++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizard.h
@@ -49,8 +49,6 @@ protected:
 
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
-
-    QString generatedProjectFilePath(const QWizard *w) const;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
index 1b755b7f47672084d6ef954fe7147896bd31cb7e..24e634449833a7b29a2c981d9b4f0983b847f735 100644
--- a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
@@ -237,15 +237,6 @@ Core::GeneratedFiles GuiAppWizard::generateFiles(const QWizard *w,
     return rc;
 }
 
-QString GuiAppWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const GuiAppWizardDialog *dialog = qobject_cast<const GuiAppWizardDialog *>(w);
-    const QtProjectParameters projectParams = dialog->projectParameters();
-    const QString projectPath = projectParams.projectPath();
-
-    return buildFileName(projectPath, projectParams.fileName, profileSuffix());
-}
-
 bool GuiAppWizard::parametrizeTemplate(const QString &templatePath, const QString &templateName,
                                        const GuiAppParameters &params,
                                        QString *target, QString *errorMessage)
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.h b/src/plugins/qt4projectmanager/wizards/guiappwizard.h
index 4432ecd815911f0d3cdad7c6c3ff9517762d1afd..ae47a4c4904ab12cc465e8e62d5ee804e7bebcc6 100644
--- a/src/plugins/qt4projectmanager/wizards/guiappwizard.h
+++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.h
@@ -61,8 +61,6 @@ protected:
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
 
-    QString generatedProjectFilePath(const QWizard *w) const;
-
 private:
     static bool parametrizeTemplate(const QString &templatePath, const QString &templateName,
                                     const GuiAppParameters &params,
diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp
index 1c6e87756667df0dd1db59cdd207e47a6f37b4f1..e86de20dcd3e0693ab301b200b6e40d05b597351 100644
--- a/src/plugins/qt4projectmanager/wizards/librarywizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/librarywizard.cpp
@@ -137,15 +137,5 @@ Core::GeneratedFiles LibraryWizard::generateFiles(const QWizard *w,
     return rc;
 }
 
-QString LibraryWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const LibraryWizardDialog *dialog = qobject_cast<const LibraryWizardDialog *>(w);
-    const QtProjectParameters projectParams = dialog->parameters();
-    const QString projectPath = projectParams.projectPath();
-
-    return buildFileName(projectPath, projectParams.fileName, profileSuffix());
-}
-
-
 } // namespace Internal
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/wizards/librarywizard.h b/src/plugins/qt4projectmanager/wizards/librarywizard.h
index 9ce0228ddb9f792fbf9efcafc1f4118d9a5ae663..2b71be736c1d0e06accdef06860940eaea18c5f3 100644
--- a/src/plugins/qt4projectmanager/wizards/librarywizard.h
+++ b/src/plugins/qt4projectmanager/wizards/librarywizard.h
@@ -53,9 +53,6 @@ protected:
 
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
-
-
-    QString generatedProjectFilePath(const QWizard *w) const;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.cpp b/src/plugins/qt4projectmanager/wizards/testwizard.cpp
index 7d38283242489ed42993c527d6f44b43f4312b6a..a493270e2ba297ce667667e675dd018030bcfa98 100644
--- a/src/plugins/qt4projectmanager/wizards/testwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/testwizard.cpp
@@ -184,14 +184,5 @@ Core::GeneratedFiles TestWizard::generateFiles(const QWizard *w, QString *errorM
     return Core::GeneratedFiles() <<  source << profile;
 }
 
-QString TestWizard::generatedProjectFilePath(const QWizard *w) const
-{
-    const TestWizardDialog *wizardDialog = qobject_cast<const TestWizardDialog *>(w);
-    const QtProjectParameters projectParams = wizardDialog->projectParameters();
-    const QString projectPath = projectParams.projectPath();
-
-    return buildFileName(projectPath, projectParams.fileName, profileSuffix());
-}
-
 } // namespace Internal
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/wizards/testwizard.h b/src/plugins/qt4projectmanager/wizards/testwizard.h
index 16aa5d80ca36e7d460d1a709df5a4bd566f75941..90a6d5b7e2fcf0fbf7990466888e7d06096fffce 100644
--- a/src/plugins/qt4projectmanager/wizards/testwizard.h
+++ b/src/plugins/qt4projectmanager/wizards/testwizard.h
@@ -49,8 +49,6 @@ protected:
 
     virtual Core::GeneratedFiles generateFiles(const QWizard *w,
                                                QString *errorMessage) const;
-
-    QString generatedProjectFilePath(const QWizard *w) const;
 signals:
 
 public slots: