diff --git a/src/plugins/qt4projectmanager/qtoptionspage.cpp b/src/plugins/qt4projectmanager/qtoptionspage.cpp
index ed2a1669e49e132d8ae6686ff46012f84548deab..26b27def1c608ac0f504151da504294a9185672d 100644
--- a/src/plugins/qt4projectmanager/qtoptionspage.cpp
+++ b/src/plugins/qt4projectmanager/qtoptionspage.cpp
@@ -188,7 +188,7 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent, QList<QtVersion *> ver
         item->setText(1, QDir::toNativeSeparators(version->qmakeCommand()));
         item->setData(0, Qt::UserRole, version->uniqueId());
 
-        if (version->isValid())
+        if (version->isValid() && version->supportsBinaryDebuggingHelper())
             item->setData(2, Qt::DecorationRole, version->hasDebuggingHelper() ? m_debuggingHelperOkIcon : m_debuggingHelperErrorIcon);
         else
             item->setData(2, Qt::DecorationRole, QIcon());
@@ -447,6 +447,14 @@ void QtOptionsPageWidget::makeS60Visible(bool visible)
     m_ui->gccePath->setVisible(visible);
 }
 
+void QtOptionsPageWidget::makeDebuggingHelperVisible(bool visible)
+{
+    m_ui->debuggingHelperLabel->setVisible(visible);
+    m_ui->debuggingHelperStateLabel->setVisible(visible);
+    m_ui->showLogButton->setVisible(visible);
+    m_ui->rebuildButton->setVisible(visible);
+}
+
 void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item)
 {
     if (item) {
@@ -456,11 +464,13 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item)
             makeMSVCVisible(false);
             makeMingwVisible(false);
             makeS60Visible(false);
+            makeDebuggingHelperVisible(false);
             return;
         }
         const QSharedPointerQtVersion qtVersion = m_versions.at(index);
         QList<ProjectExplorer::ToolChain::ToolChainType> types = qtVersion->possibleToolChainTypes();
         QSet<QString> targets = qtVersion->supportedTargetIds();
+        makeDebuggingHelperVisible(qtVersion->supportsBinaryDebuggingHelper());
         if (types.isEmpty()) {
             makeMSVCVisible(false);
             makeMingwVisible(false);
@@ -528,6 +538,7 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item)
         makeMSVCVisible(false);
         makeMingwVisible(false);
         makeS60Visible(false);
+        makeDebuggingHelperVisible(false);
     }
 }
 
@@ -668,7 +679,7 @@ void QtOptionsPageWidget::updateCurrentQMakeLocation()
     currentItem->setText(1, QDir::toNativeSeparators(version->qmakeCommand()));
     showEnvironmentPage(currentItem);
 
-    if (version->isValid()) {
+    if (version->isValid() && version->supportsBinaryDebuggingHelper()) {
         const bool hasLog = !currentItem->data(2, Qt::UserRole).toString().isEmpty();
         currentItem->setData(2, Qt::DecorationRole, version->hasDebuggingHelper() ? m_debuggingHelperOkIcon : m_debuggingHelperErrorIcon);
         m_ui->showLogButton->setEnabled(hasLog);
diff --git a/src/plugins/qt4projectmanager/qtoptionspage.h b/src/plugins/qt4projectmanager/qtoptionspage.h
index 517d0a28524476cdc07bcde903a08613a104f2f4..5f066880c0b2bb439abcaf3ec05ae387b29f40ac 100644
--- a/src/plugins/qt4projectmanager/qtoptionspage.h
+++ b/src/plugins/qt4projectmanager/qtoptionspage.h
@@ -112,6 +112,7 @@ private slots:
     void makeMingwVisible(bool visible);
     void makeMSVCVisible(bool visible);
     void makeS60Visible(bool visible);
+    void makeDebuggingHelperVisible(bool visible);
     void onQtBrowsed();
     void onMingwBrowsed();
     void updateCurrentQtName();
diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 7eef15ae73eef16b81076c3b71795ae0ea6e50ac..89db84c148a7a661ea92ab70f2606d06bb87963d 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -1550,6 +1550,20 @@ QStringList QtVersion::debuggingHelperLibraryLocations() const
     return DebuggingHelperLibrary::debuggingHelperLibraryLocationsByInstallData(qtInstallData);
 }
 
+bool QtVersion::supportsBinaryDebuggingHelper() const
+{
+    QList<ProjectExplorer::ToolChain::ToolChainType> types = possibleToolChainTypes();
+    if (types.contains(ProjectExplorer::ToolChain::GCC)
+            || types.contains(ProjectExplorer::ToolChain::LINUX_ICC)
+            || types.contains(ProjectExplorer::ToolChain::MSVC)
+            || types.contains(ProjectExplorer::ToolChain::WINCE)
+            || types.contains(ProjectExplorer::ToolChain::GCC_MAEMO)
+            || types.contains(ProjectExplorer::ToolChain::OTHER)
+            || types.contains(ProjectExplorer::ToolChain::UNKNOWN))
+        return true;
+    return false;
+}
+
 bool QtVersion::hasDocumentation() const
 {
     updateVersionInfo();
diff --git a/src/plugins/qt4projectmanager/qtversionmanager.h b/src/plugins/qt4projectmanager/qtversionmanager.h
index 6f5e613bc8ae282bdbce6c1d9d7e3bb92c69a46c..68e155348f955bfe901d75b2ed092d89bfeb9e2f 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.h
+++ b/src/plugins/qt4projectmanager/qtversionmanager.h
@@ -108,6 +108,7 @@ public:
     bool hasDebuggingHelper() const;
     QString debuggingHelperLibrary() const;
     QStringList debuggingHelperLibraryLocations() const;
+    bool supportsBinaryDebuggingHelper() const;
 
     // Builds a debugging library
     // returns the output of the commands