diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h
index 0da0279603cbe9035df0944474046b2f2d9decc9..a9b98a7ee26f45dfea297cfbc215b1a0f0b580f7 100644
--- a/src/plugins/projectexplorer/buildstep.h
+++ b/src/plugins/projectexplorer/buildstep.h
@@ -136,9 +136,12 @@ public:
         : QWidget()
         {}
     virtual QString summaryText() const = 0;
+    virtual QString additionalSummaryText() const { return QString(); }
     virtual QString displayName() const = 0;
+
 signals:
     void updateSummary();
+    void updateAdditionalSummary();
 };
 
 } // namespace ProjectExplorer
diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp
index 52e742fcd647f9bda32ac5efa94224150144ee35..27f7016761352ac38de2b398b8c750e6229482be 100644
--- a/src/plugins/projectexplorer/buildstepspage.cpp
+++ b/src/plugins/projectexplorer/buildstepspage.cpp
@@ -140,6 +140,19 @@ void BuildStepListWidget::updateSummary()
     }
 }
 
+void BuildStepListWidget::updateAdditionalSummary()
+{
+    BuildStepConfigWidget *widget = qobject_cast<BuildStepConfigWidget *>(sender());
+    if (widget) {
+        foreach (const BuildStepsWidgetData *s, m_buildStepsData) {
+            if (s->widget == widget) {
+                s->detailsWidget->setAdditionalSummaryText(widget->additionalSummaryText());
+                break;
+            }
+        }
+    }
+}
+
 void BuildStepListWidget::init(BuildStepList *bsl)
 {
     Q_ASSERT(bsl);
@@ -222,6 +235,8 @@ void BuildStepListWidget::addBuildStepWidget(int pos, BuildStep *step)
 
     connect(s->widget, SIGNAL(updateSummary()),
             this, SLOT(updateSummary()));
+    connect(s->widget, SIGNAL(updateAdditionalSummary()),
+            this, SLOT(updateAdditionalSummary()));
 
     connect(s->upButton, SIGNAL(clicked()),
             m_upMapper, SLOT(map()));
diff --git a/src/plugins/projectexplorer/buildstepspage.h b/src/plugins/projectexplorer/buildstepspage.h
index e770fb8c8425f5a20daa77aedc48c65f43052fc5..56ddb6874becb8159789938f402e3aa1289fb7c9 100644
--- a/src/plugins/projectexplorer/buildstepspage.h
+++ b/src/plugins/projectexplorer/buildstepspage.h
@@ -85,6 +85,7 @@ private slots:
     void triggerAddBuildStep();
     void addBuildStep(int pos);
     void updateSummary();
+    void updateAdditionalSummary();
     void triggerStepMoveUp(int pos);
     void stepMoved(int from, int to);
     void triggerStepMoveDown(int pos);
diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index abecb0d5cb89f91d21c83ed786ebe754416669e3..f1f8ed0fe88a136f967b32f3ff1cfa2c9378ba37 100644
--- a/src/plugins/qt4projectmanager/qmakestep.cpp
+++ b/src/plugins/qt4projectmanager/qmakestep.cpp
@@ -537,6 +537,11 @@ QString QMakeStepConfigWidget::summaryText() const
     return m_summaryText;
 }
 
+QString QMakeStepConfigWidget::additionalSummaryText() const
+{
+    return m_additionalSummaryText;
+}
+
 QString QMakeStepConfigWidget::displayName() const
 {
     return m_step->displayName();
@@ -664,18 +669,24 @@ void QMakeStepConfigWidget::updateSummaryLabel()
     Qt4BuildConfiguration *qt4bc = m_step->qt4BuildConfiguration();
     QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion();
     if (!qtVersion) {
-        m_summaryText = tr("<b>qmake:</b> No Qt version set. Cannot run qmake.");
-        emit updateSummary();
+        setSummaryText(tr("<b>qmake:</b> No Qt version set. Cannot run qmake."));
         return;
     }
-
     // We don't want the full path to the .pro file
     QString args = m_step->allArguments(true);
     // And we only use the .pro filename not the full path
     QString program = QFileInfo(qtVersion->qmakeCommand()).fileName();
-    m_summaryText = tr("<b>qmake:</b> %1 %2").arg(program, args);
-    emit updateSummary();
+    setSummaryText(tr("<b>qmake:</b> %1 %2").arg(program, args));
 
+    ToolChain *tc = qt4bc->toolChain();
+    if (!tc)
+        return;
+
+    QString tcSpec = tc->mkspec();
+    if (!tcSpec.isEmpty() && tcSpec != m_step->mkspec())
+        setAdditionalSummaryText(tr("<b>Warning:</b> The tool chain suggested \"%1\" as mkspec.").arg(tcSpec));
+    else
+        setAdditionalSummaryText(QString());
 }
 
 void QMakeStepConfigWidget::updateQmlDebuggingOption()
@@ -723,6 +734,22 @@ void QMakeStepConfigWidget::recompileMessageBoxFinished(int button)
     }
 }
 
+void QMakeStepConfigWidget::setSummaryText(const QString &text)
+{
+    if (text == m_summaryText)
+        return;
+    m_summaryText = text;
+    emit updateSummary();
+}
+
+void QMakeStepConfigWidget::setAdditionalSummaryText(const QString &text)
+{
+    if (text == m_additionalSummaryText)
+        return;
+    m_additionalSummaryText = text;
+    emit updateAdditionalSummary();
+}
+
 ////
 // QMakeStepFactory
 ////
diff --git a/src/plugins/qt4projectmanager/qmakestep.h b/src/plugins/qt4projectmanager/qmakestep.h
index 2a23acbb2e7cc8f7abf53cbab87bf43a1b76936a..0a779fb3d09f9e3ae64d9768339f7e77687745bf 100644
--- a/src/plugins/qt4projectmanager/qmakestep.h
+++ b/src/plugins/qt4projectmanager/qmakestep.h
@@ -143,6 +143,7 @@ public:
     QMakeStepConfigWidget(QMakeStep *step);
     ~QMakeStepConfigWidget();
     QString summaryText() const;
+    QString additionalSummaryText() const;
     QString displayName() const;
 private slots:
     // slots for handling buildconfiguration/step signals
@@ -167,9 +168,14 @@ private:
     void updateSummaryLabel();
     void updateQmlDebuggingOption();
     void updateEffectiveQMakeCall();
+
+    void setSummaryText(const QString &);
+    void setAdditionalSummaryText(const QString &);
+
     Ui::QMakeStep *m_ui;
     QMakeStep *m_step;
     QString m_summaryText;
+    QString m_additionalSummaryText;
     bool m_ignoreChange;
 };