diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp
index 19e8d662a0de6cf3a497bc9b5aa089331b75d60e..1b9e8216ff497ab00f01be0d6614b59748fe8931 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptarget.cpp
@@ -69,9 +69,11 @@ void Qt4DesktopTarget::createApplicationProFiles()
 
     // We use the list twice
     QList<Qt4ProFileNode *> profiles = qt4Project()->applicationProFiles();
-    QSet<QString> paths;
-    foreach (Qt4ProFileNode *pro, profiles)
-        paths << pro->path();
+    QHash<QString, bool> paths;
+    foreach (Qt4ProFileNode *pro, profiles) {
+        bool isConsole = pro->variableValue(ConfigVar).contains(QLatin1String("console"));
+        paths.insert(pro->path(), isConsole);
+    }
 
     foreach (ProjectExplorer::RunConfiguration *rc, runConfigurations())
         if (Qt4RunConfiguration *qt4rc = qobject_cast<Qt4RunConfiguration *>(rc)) {
@@ -79,8 +81,14 @@ void Qt4DesktopTarget::createApplicationProFiles()
         }
 
     // Only add new runconfigurations if there are none.
-    foreach (const QString &path, paths)
-        addRunConfiguration(new Qt4RunConfiguration(this, path));
+    QHash<QString, bool>::const_iterator it, end;
+    end = paths.constEnd();
+    for (it = paths.constBegin(); it != end; ++it) {
+        Qt4RunConfiguration *qt4rc = new Qt4RunConfiguration(this, it.key());
+        if (it.value())
+            qt4rc->setRunMode(ProjectExplorer::LocalApplicationRunConfiguration::Console);
+        addRunConfiguration(qt4rc);
+    }
 
     // Oh still none? Add a custom executable runconfiguration
     if (runConfigurations().isEmpty()) {
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h
index b20fc4d5c3a0b32bfb93c29f3483cf5f1f09445b..71870757e9ef2ccbda0f4e037dfd56b1347c5605 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h
@@ -104,6 +104,7 @@ public:
 
     Utils::OutputFormatter *createOutputFormatter() const;
 
+    void setRunMode(RunMode runMode);
 signals:
     void commandLineArgumentsChanged(const QString&);
     void baseWorkingDirectoryChanged(const QString&);
@@ -125,7 +126,6 @@ protected:
 
 private:
     void handleParseState(bool success);
-    void setRunMode(RunMode runMode);
     void setBaseWorkingDirectory(const QString &workingDirectory);
     QString baseWorkingDirectory() const;
     void setCommandLineArguments(const QString &argumentsString);