diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp
index 737429ca9a8d5c2282a2f466dc27663ff5efff53..cd6bbc1441af40ead4a40a3599b43ac82ca88caa 100644
--- a/src/plugins/coreplugin/basefilewizard.cpp
+++ b/src/plugins/coreplugin/basefilewizard.cpp
@@ -526,7 +526,8 @@ void BaseFileWizard::runWizard(const QString &path, QWidget *parent, const QStri
     foreach (IFileWizardExtension *ex, extensions) {
         bool remove;
         if (!ex->processFiles(files, &remove, &errorMessage)) {
-            QMessageBox::critical(parent, tr("File Generation Failure"), errorMessage);
+            if (!errorMessage.isEmpty())
+                QMessageBox::critical(parent, tr("File Generation Failure"), errorMessage);
             return;
         }
         removeOpenProjectAttribute |= remove;
diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp
index 1f69d5247602fa164f5378d0f7d59f6b1d2b5a13..f95da9ebb4163f26dd6c09d8a5471a3d70d2a37e 100644
--- a/src/plugins/projectexplorer/projectfilewizardextension.cpp
+++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp
@@ -58,6 +58,7 @@
 #include <QDir>
 #include <QTextDocument>
 #include <QTextCursor>
+#include <QMessageBox>
 
 /*!
     \class ProjectExplorer::Internal::ProjectFileWizardExtension
@@ -444,8 +445,21 @@ bool ProjectFileWizardExtension::processFiles(
         const QList<Core::GeneratedFile> &files,
         bool *removeOpenProjectAttribute, QString *errorMessage)
 {
-    return processProject(files, removeOpenProjectAttribute, errorMessage) &&
-           processVersionControl(files, errorMessage);
+    if (!processProject(files, removeOpenProjectAttribute, errorMessage))
+        return false;
+    if (!processVersionControl(files, errorMessage)) {
+        QString message;
+        if (errorMessage) {
+            message = *errorMessage;
+            message.append(QLatin1String("\n\n"));
+            errorMessage->clear();
+        }
+        message.append(tr("Open project anyway?"));
+        if (QMessageBox::question(Core::ICore::mainWindow(), tr("Version Control Failure"), message,
+                                  QMessageBox::Yes, QMessageBox::No) == QMessageBox::No)
+            return false;
+    }
+    return true;
 }
 
 // Add files to project && version control