diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index bfff9efcf28484d9b792548fc8ff0372c4d5c1e5..41d5fe2ec49586e2dcd42c6a7c4b58c166600eed 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -51,6 +51,7 @@
 #include <utils/synchronousprocess.h>
 
 #include <QDir>
+#include <QUrl>
 #include <QFileInfo>
 #include <QCoreApplication>
 #include <QProcess>
@@ -474,8 +475,24 @@ QString BaseQtVersion::toHtml(bool verbose) const
             const QHash<QString,QString> vInfo = versionInfo();
             if (!vInfo.isEmpty()) {
                 const QHash<QString,QString>::const_iterator vcend = vInfo.constEnd();
-                for (QHash<QString,QString>::const_iterator it = vInfo.constBegin(); it != vcend; ++it)
-                    str << "<tr><td><pre>" << it.key() <<  "</pre></td><td>" << it.value() << "</td></tr>";
+                for (QHash<QString,QString>::const_iterator it = vInfo.constBegin(); it != vcend; ++it) {
+                    const QString &variableName = it.key();
+                    const QString &value = it.value();
+                    if (!variableName.endsWith(QLatin1String("/raw")) && !variableName.endsWith(QLatin1String("/get"))) {
+                        const bool isPath = !value.isEmpty() &&
+                            (variableName == QLatin1String("QMAKE_MKSPECS")
+                             || variableName.contains(QLatin1String("HOST"))
+                             || variableName.contains(QLatin1String("INSTALL")));
+                        str << "<tr><td><pre>" << variableName <<  "</pre></td><td>";
+                        if (isPath) {
+                            str << "<a href=\"" << QUrl::fromLocalFile(value).toString()
+                                << "\">" << QDir::toNativeSeparators(value) << "</a>";
+                        } else {
+                            str << it.value() ;
+                        }
+                        str << "</td></tr>";
+                    }
+                }
             }
         }
     }
diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp
index fcfb8a8f9fd28383e038bdb76a57f7544acf8b4f..499a225ff5eb2abda59b13a1083cd1102b9bf51f 100644
--- a/src/plugins/qtsupport/qtoptionspage.cpp
+++ b/src/plugins/qtsupport/qtoptionspage.cpp
@@ -58,6 +58,8 @@
 #include <QMessageBox>
 #include <QFileDialog>
 #include <QMainWindow>
+#include <QTextBrowser>
+#include <QDesktopServices>
 
 enum ModelRoles { VersionIdRole = Qt::UserRole, ToolChainIdRole, BuildLogRole, BuildRunningRole};
 
@@ -110,6 +112,7 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent)
     , m_ui(new Internal::Ui::QtVersionManager())
     , m_versionUi(new Internal::Ui::QtVersionInfo())
     , m_debuggingHelperUi(new Internal::Ui::DebuggingHelper())
+    , m_infoBrowser(new QTextBrowser)
     , m_invalidVersionIcon(QLatin1String(":/projectexplorer/images/compile_error.png"))
     , m_warningVersionIcon(QLatin1String(":/projectexplorer/images/compile_warning.png"))
     , m_configurationWidget(0)
@@ -125,6 +128,11 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent)
 
     m_ui->setupUi(this);
 
+    m_infoBrowser->setOpenLinks(false);
+    m_infoBrowser->setTextInteractionFlags(Qt::TextBrowserInteraction);
+    connect(m_infoBrowser, SIGNAL(anchorClicked(QUrl)), this, SLOT(infoAnchorClicked(QUrl)));
+    m_ui->infoWidget->setWidget(m_infoBrowser);
+
     m_ui->versionInfoWidget->setWidget(versionInfoWidget);
     m_ui->versionInfoWidget->setState(Utils::DetailsWidget::NoSummary);
 
@@ -137,7 +145,6 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent)
     m_ui->qtdirList->header()->setStretchLastSection(false);
     m_ui->qtdirList->setTextElideMode(Qt::ElideNone);
     m_autoItem = new QTreeWidgetItem(m_ui->qtdirList);
-    m_ui->qtdirList->installEventFilter(this);
     m_autoItem->setText(0, tr("Auto-detected"));
     m_autoItem->setFirstColumnSpanned(true);
     m_autoItem->setFlags(Qt::ItemIsEnabled);
@@ -199,26 +206,6 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent)
             this, SLOT(toolChainsUpdated()));
 }
 
-bool QtOptionsPageWidget::eventFilter(QObject *o, QEvent *e)
-{
-    // Set the items tooltip, which may cause costly initialization
-    // of QtVersion and must be up-to-date
-    if (o != m_ui->qtdirList || e->type() != QEvent::ToolTip)
-        return false;
-    QHelpEvent *helpEvent = static_cast<QHelpEvent *>(e);
-    const QPoint treePos = helpEvent->pos() - QPoint(0, m_ui->qtdirList->header()->height());
-    QTreeWidgetItem *item = m_ui->qtdirList->itemAt(treePos);
-    if (!item)
-        return false;
-    const int index = indexForTreeItem(item);
-    if (index == -1)
-        return false;
-    const QString tooltip = m_versions.at(index)->toHtml(true);
-    QToolTip::showText(helpEvent->globalPos(), tooltip, m_ui->qtdirList);
-    helpEvent->accept();
-    return true;
-}
-
 int QtOptionsPageWidget::currentIndex() const
 {
     if (QTreeWidgetItem *currentItem = m_ui->qtdirList->currentItem())
@@ -354,6 +341,11 @@ void QtOptionsPageWidget::handleDebuggingHelperExpanded(bool expanded)
     m_ui->versionInfoWidget->setVisible(!expanded);
 }
 
+void QtOptionsPageWidget::infoAnchorClicked(const QUrl &url)
+{
+    QDesktopServices::openUrl(url);
+}
+
 QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const BaseQtVersion *version)
 {
     ValidityInfo info;
@@ -362,6 +354,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba
     if (!version)
         return info;
 
+    info.description = tr("Qt version %1 for %2").arg(version->qtVersionString(), version->description());
     if (!version->isValid()) {
         info.icon = m_invalidVersionIcon;
         info.message = version->invalidReason();
@@ -381,20 +374,19 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba
     }
 
     bool useable = true;
-    if (missingToolChains.isEmpty()) {
-        // No:
-        info.message = tr("Qt version %1 for %2").arg(version->qtVersionString(), version->description());
-    } else if (missingToolChains.count() == abiCount) {
-        // Yes, this Qt version can't be used at all!
-        info.message = tr("No tool chain can produce code for this Qt version. Please define one or more tool chains.");
-        info.icon = m_invalidVersionIcon;
-        useable = false;
-    } else {
-        // Yes, some ABIs are unsupported
-        info.message = tr("Not all possible target environments can be supported due to missing tool chains.");
-        info.toolTip = tr("The following ABIs are currently not supported:<ul><li>%1</li></ul>")
-                       .arg(missingToolChains.join(QLatin1String("</li><li>")));
-        info.icon = m_warningVersionIcon;
+    if (!missingToolChains.isEmpty()) {
+        if (missingToolChains.count() == abiCount) {
+            // Yes, this Qt version can't be used at all!
+            info.message = tr("No tool chain can produce code for this Qt version. Please define one or more tool chains.");
+            info.icon = m_invalidVersionIcon;
+            useable = false;
+        } else {
+            // Yes, some ABIs are unsupported
+            info.message = tr("Not all possible target environments can be supported due to missing tool chains.");
+            info.toolTip = tr("The following ABIs are currently not supported:<ul><li>%1</li></ul>")
+                    .arg(missingToolChains.join(QLatin1String("</li><li>")));
+            info.icon = m_warningVersionIcon;
+        }
     }
 
     if (useable) {
@@ -943,11 +935,26 @@ void QtOptionsPageWidget::qtVersionChanged()
 void QtOptionsPageWidget::updateDescriptionLabel()
 {
     QTreeWidgetItem *item = m_ui->qtdirList->currentItem();
-    const ValidityInfo info = validInformation(currentVersion());
-    m_versionUi->errorLabel->setText(info.message);
-    m_versionUi->errorLabel->setToolTip(info.toolTip);
+    const BaseQtVersion *version = currentVersion();
+    const ValidityInfo info = validInformation(version);
+    if (info.message.isEmpty()) {
+        m_versionUi->errorLabel->setVisible(false);
+    } else {
+        m_versionUi->errorLabel->setVisible(true);
+        m_versionUi->errorLabel->setText(info.message);
+        m_versionUi->errorLabel->setToolTip(info.toolTip);
+    }
+    m_ui->infoWidget->setSummaryText(info.description);
     if (item)
         item->setIcon(0, info.icon);
+
+    if (version) {
+        m_infoBrowser->setHtml(version->toHtml(true));
+        m_ui->infoWidget->setVisible(true);
+    } else {
+        m_infoBrowser->setHtml(QString());
+        m_ui->infoWidget->setVisible(false);
+    }
 }
 
 int QtOptionsPageWidget::indexForTreeItem(const QTreeWidgetItem *item) const
diff --git a/src/plugins/qtsupport/qtoptionspage.h b/src/plugins/qtsupport/qtoptionspage.h
index 1c4146c30e8f1cde11282b99092a1d06296b9efc..3483013fcdcff8748708f020d9f4adc64e13d617 100644
--- a/src/plugins/qtsupport/qtoptionspage.h
+++ b/src/plugins/qtsupport/qtoptionspage.h
@@ -41,6 +41,8 @@
 
 QT_BEGIN_NAMESPACE
 class QTreeWidgetItem;
+class QTextBrowser;
+class QUrl;
 QT_END_NAMESPACE
 
 namespace ProjectExplorer {
@@ -71,8 +73,6 @@ public:
     void apply();
     QString searchKeywords() const;
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
-
 private:
     void updateDescriptionLabel();
     void userChangedCurrentVersion();
@@ -90,6 +90,7 @@ private:
     Internal::Ui::QtVersionManager *m_ui;
     Internal::Ui::QtVersionInfo *m_versionUi;
     Internal::Ui::DebuggingHelper *m_debuggingHelperUi;
+    QTextBrowser *m_infoBrowser;
     QList<BaseQtVersion *> m_versions;
     int m_defaultVersion;
     QIcon m_invalidVersionIcon;
@@ -121,9 +122,11 @@ private slots:
 
     void qtVersionsDumpUpdated(const Utils::FileName &qmakeCommand);
     void handleDebuggingHelperExpanded(bool expanded);
+    void infoAnchorClicked(const QUrl &);
 
 private:
     struct ValidityInfo {
+        QString description;
         QString message;
         QString toolTip;
         QIcon icon;
diff --git a/src/plugins/qtsupport/qtversionmanager.ui b/src/plugins/qtsupport/qtversionmanager.ui
index 0e4389e80e4bd382e289d70a37b6900cb73e6464..2f6134be3374244f54a760f2d06d1e4324e6d18a 100644
--- a/src/plugins/qtsupport/qtversionmanager.ui
+++ b/src/plugins/qtsupport/qtversionmanager.ui
@@ -95,6 +95,9 @@
     <widget class="Utils::DetailsWidget" name="versionInfoWidget" native="true"/>
    </item>
    <item row="2" column="0">
+    <widget class="Utils::DetailsWidget" name="infoWidget" native="true"/>
+   </item>
+   <item row="3" column="0">
     <widget class="Utils::DetailsWidget" name="debuggingHelperWidget" native="true"/>
    </item>
   </layout>