diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
index 847cf163eb51c259e4dd2eaa1b1af48b8e6bee91..b0dc98ca12d145825590b2268554503fbaec35b2 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
@@ -81,6 +81,13 @@ QString Qt4DesktopTargetFactory::displayNameForId(const QString &id) const
     return QString();
 }
 
+QIcon Qt4DesktopTargetFactory::iconForId(const QString &id) const
+{
+    if (id == QLatin1String(Constants::DESKTOP_TARGET_ID))
+        return qApp->style()->standardIcon(QStyle::SP_ComputerIcon);
+    return QIcon();
+}
+
 bool Qt4DesktopTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
index 76e506a2aea9e09c95a504072cc74c580b320519..2c99a7822bf7d7a1f43c914432ade31fbd88505d 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
@@ -47,6 +47,7 @@ public:
 
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
index edcc0d04a1deed57f3712387eeedc49560e1c7df..3061a95d592b877320e589e23856df03b74b5c79 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
@@ -84,6 +84,13 @@ QString Qt4SimulatorTargetFactory::displayNameForId(const QString &id) const
     return QString();
 }
 
+QIcon Qt4SimulatorTargetFactory::iconForId(const QString &id) const
+{
+    if (id == QLatin1String(Constants::QT_SIMULATOR_TARGET_ID))
+        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+    return QIcon();
+}
+
 bool Qt4SimulatorTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
index cfc177b73976077e44ce5155acae3d627199cfe4..0f560a6ee003da4e7a8c9f6992acbb733feef070 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
@@ -49,6 +49,7 @@ public:
 
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
index 335aed4ce4ee05f87cbf250db56bd38a8d105208..4dbfe011abd876a1bbca3d19533d2c9b58e14fd2 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
@@ -94,6 +94,12 @@ QString Qt4MaemoTargetFactory::displayNameForId(const QString &id) const
     return QString();
 }
 
+QIcon Qt4MaemoTargetFactory::iconForId(const QString &id) const
+{
+    Q_UNUSED(id)
+    return QIcon(":/projectexplorer/images/MaemoDevice.png");
+}
+
 bool Qt4MaemoTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h
index 6377f99c864c9628c4d89f848d2880fc55e62d3b..819de2b09e28079aacbb7e83035aabae00f4db90 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h
@@ -48,6 +48,7 @@ public:
 
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
index 1328d66cba7e7991180dc2832f7b9e6499b6ebfc..767c068bd6425fa8db01a644a8c3faf369a90340 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
@@ -89,6 +89,15 @@ QString Qt4SymbianTargetFactory::displayNameForId(const QString &id) const
     return Qt4SymbianTarget::defaultDisplayName(id);
 }
 
+QIcon Qt4SymbianTargetFactory::iconForId(const QString &id) const
+{
+    if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
+        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+    if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
+        return QIcon(":/projectexplorer/images/SymbianDevice.png");
+    return QIcon();
+}
+
 bool Qt4SymbianTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
index dbb5af9f3c33ad5efbaa52b9b1794b5c6dbab1fd..f591a2b4b45a7697b73359027ce2060370626e27 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
@@ -48,6 +48,7 @@ public:
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     bool supportsTargetId(const QString &id) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h
index a50015cebabce0eba0f7aea2e992472e296733b7..7aa7be7381a9286ea13ee1989bba9b1907e5a787 100644
--- a/src/plugins/qt4projectmanager/qt4target.h
+++ b/src/plugins/qt4projectmanager/qt4target.h
@@ -116,6 +116,9 @@ public:
                                   const QString &id,
                                   QList<BuildConfigurationInfo> infos) = 0;
 
+    /// only used in the TargetSetupPage
+    virtual QIcon iconForId(const QString &id) const = 0;
+
     static Qt4BaseTargetFactory *qt4BaseTargetFactoryForId(const QString &id);
 
 protected: