diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h
index bf303df876dffc1522db9e9925932087a7811c5c..b2f31dbbbcbfc7ed3a0d8a23b5272f3be5cef20a 100644
--- a/src/plugins/projectexplorer/toolchain.h
+++ b/src/plugins/projectexplorer/toolchain.h
@@ -31,6 +31,7 @@
 #define TOOLCHAIN_H
 
 #include "environment.h"
+#include "project.h"
 #include <QtCore/QString>
 #include <QtCore/QPair>
 
@@ -87,7 +88,7 @@ public:
     virtual void addToEnvironment(ProjectExplorer::Environment &env) = 0;
     virtual ToolChainType type() const = 0;
     virtual QString makeCommand() const = 0;
-    virtual QString defaultMakeTarget() const = 0;
+    virtual QString defaultMakeTarget(const Project *project) const = 0;
 
     ToolChain();
     virtual ~ToolChain();
@@ -117,7 +118,7 @@ public:
     virtual void addToEnvironment(ProjectExplorer::Environment &env);
     virtual ToolChainType type() const;
     virtual QString makeCommand() const;
-    virtual QString defaultMakeTarget() const { return ""; }
+    virtual QString defaultMakeTarget(const Project *) const { return ""; }
 
 protected:
     virtual bool equals(ToolChain *other) const;
@@ -151,7 +152,7 @@ public:
     virtual void addToEnvironment(ProjectExplorer::Environment &env);
     virtual ToolChainType type() const;
     virtual QString makeCommand() const;
-    virtual QString defaultMakeTarget() const { return ""; }
+    virtual QString defaultMakeTarget(const Project *) const { return ""; }
 protected:
     virtual bool equals(ToolChain *other) const;
     QString m_name;
diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
index e87728e5054ddb387bafbe074cb9c16021b40c86..15cf53637c67f086b9b047aefd39da162bd7d76c 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
@@ -1,4 +1,5 @@
 #include "gccetoolchain.h"
+#include "qt4project.h"
 
 #include <coreplugin/icore.h>
 
@@ -46,8 +47,16 @@ QString GCCEToolChain::makeCommand() const
     return "make";
 }
 
-QString GCCEToolChain::defaultMakeTarget() const
+QString GCCEToolChain::defaultMakeTarget(const Project *project) const
 {
+    const Qt4Project *qt4project = qobject_cast<const Qt4Project *>(project);
+    if (qt4project) {
+        if (!(QtVersion::QmakeBuildConfig(qt4project->qmakeStep()->value(
+                project->activeBuildConfiguration(),
+                "buildConfiguration").toInt()) & QtVersion::DebugBuild)) {
+            return "release-gcce";
+        }
+    }
     return "debug-gcce";
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h
index 36f1159a5c198730270a754f3d959f2d02b6934d..be27ad5176aafed118889664597b6e350c6d39b2 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h
@@ -3,6 +3,7 @@
 
 #include "s60devices.h"
 
+#include <projectexplorer/project.h>
 #include <projectexplorer/toolchain.h>
 
 namespace Qt4ProjectManager {
@@ -17,7 +18,7 @@ public:
     void addToEnvironment(ProjectExplorer::Environment &env);
     ProjectExplorer::ToolChain::ToolChainType type() const;
     QString makeCommand() const;
-    QString defaultMakeTarget() const;
+    QString defaultMakeTarget(const ProjectExplorer::Project *project) const;
 
 protected:
     bool equals(ToolChain *other) const;
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
index fce6eb22857dc5b458512594027ec9c4708ee6a4..b54b79a1d9a58e1c0aac93c4296c0a08ec21d5e2 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
@@ -61,7 +61,7 @@ QString WINSCWToolChain::makeCommand() const
     return "make";
 }
 
-QString WINSCWToolChain::defaultMakeTarget() const
+QString WINSCWToolChain::defaultMakeTarget(const Project *) const
 {
     return "debug-winscw";
 }
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
index 50f81b984a1b93ab550f0ef41b4d3d7038d5f414..089f9574ab4cca4d1ad069f08c07f425745599c2 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h
@@ -3,6 +3,7 @@
 
 #include "s60devices.h"
 
+#include <projectexplorer/project.h>
 #include <projectexplorer/toolchain.h>
 
 namespace Qt4ProjectManager {
@@ -17,7 +18,7 @@ public:
     void addToEnvironment(ProjectExplorer::Environment &env);
     ProjectExplorer::ToolChain::ToolChainType type() const;
     QString makeCommand() const;
-    QString defaultMakeTarget() const;
+    QString defaultMakeTarget(const ProjectExplorer::Project *) const;
 
 protected:
     bool equals(ToolChain *other) const;
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 5ec3ce2d5f18ba28633983cb21c8c9cd94e73b31..cae6dd13e5827fc02890cf4856677bf97a87708b 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -382,7 +382,7 @@ QString Qt4Project::makeCommand(const QString &buildConfiguration) const
 
 QString Qt4Project::defaultMakeTarget(const QString &buildConfiguration) const
 {
-    return qtVersion(buildConfiguration)->toolChain()->defaultMakeTarget();
+    return qtVersion(buildConfiguration)->toolChain()->defaultMakeTarget(this);
 }
 
 void Qt4Project::updateCodeModel()
diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 6309a7ebb5d275a3831d18c6cffe9e5726c865b7..98bcd663821b09625dc85fbba581869cb9e826be 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -925,7 +925,7 @@ void QtVersion::updateToolChain() const
         //qDebug()<<"GCC ToolChain ("<<qmake_cxx<<")";
 #ifdef QTCREATOR_WITH_S60
     } else if (t == ProjectExplorer::ToolChain::WINSCW) {
-        m_test = S60Manager::instance()->createWINSCWToolChain(this);
+        m_test = S60Manager::instance()->createGCCEToolChain(this);
 #endif
     } else {
         qDebug()<<"Could not detect ToolChain for"<<mkspec();