diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp
index ad89fb76183bd228d46b253f80f4174b51439332..b5c2f9b37650534d0f8119a98da0ff9bd97ece33 100644
--- a/src/plugins/projectexplorer/buildstepspage.cpp
+++ b/src/plugins/projectexplorer/buildstepspage.cpp
@@ -70,6 +70,11 @@ BuildStepsPage::BuildStepsPage(Project *project, bool clean) :
     hboxLayout->addWidget(m_removeButton);
     hboxLayout->addStretch(10);
 
+#ifdef Q_OS_MAC
+    m_addButton->setAttribute(Qt::WA_MacSmallSize);
+    m_removeButton->setAttribute(Qt::WA_MacSmallSize);
+#endif
+
     m_vbox->addLayout(hboxLayout);
 
     updateBuildStepButtonsState();
@@ -96,10 +101,10 @@ BuildStepsPage::~BuildStepsPage()
 
 void BuildStepsPage::toggleDetails()
 {
-    QToolButton *tb = qobject_cast<QToolButton *>(sender());
-    if (tb) {
+    QAbstractButton *button = qobject_cast<QAbstractButton *>(sender());
+    if (button) {
         foreach(const BuildStepsWidgetStruct &s, m_buildSteps) {
-            if (s.detailsButton == tb) {
+            if (s.detailsButton == button) {
                 s.widget->setVisible(!s.widget->isVisible());
                 fixupLayout(s.widget);
             }
@@ -172,9 +177,18 @@ void BuildStepsPage::addBuildStepWidget(int pos, BuildStep *step)
     s.upButton->setArrowType(Qt::UpArrow);
     s.downButton = new QToolButton(this);
     s.downButton->setArrowType(Qt::DownArrow);
+#ifdef Q_OS_MAC
+    s.detailsButton = new QPushButton(this);
+    s.detailsButton->setAttribute(Qt::WA_MacSmallSize);
+    s.detailsButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+    s.upButton->setIconSize(QSize(10, 10));
+    s.downButton->setIconSize(QSize(10, 10));
+#else
     s.detailsButton = new QToolButton(this);
+#endif
     s.detailsButton->setText(tr("Details"));
 
+
     // layout
     s.hbox = new QHBoxLayout();
     s.hbox->addWidget(s.detailsLabel);
diff --git a/src/plugins/projectexplorer/buildstepspage.h b/src/plugins/projectexplorer/buildstepspage.h
index 99ba8b696f9167ce44ac3c16625402adcffd493a..31c4b149a01f8cc648cdfa4db10fd0bc04b3ebcd 100644
--- a/src/plugins/projectexplorer/buildstepspage.h
+++ b/src/plugins/projectexplorer/buildstepspage.h
@@ -36,6 +36,7 @@ QT_BEGIN_NAMESPACE
 class QTreeWidgetItem;
 class QHBoxLayout;
 class QPushButton;
+class QAbstractButton;
 class QToolButton;
 class QLabel;
 class QVBoxLayout;
@@ -55,7 +56,7 @@ struct BuildStepsWidgetStruct
 {
     BuildStepConfigWidget *widget;
     QLabel *detailsLabel;
-    QToolButton *detailsButton;
+    QAbstractButton *detailsButton;
     QToolButton *upButton;
     QToolButton *downButton;
     QHBoxLayout *hbox;
diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp
index 32a9b07855f90bd179ba2e2d92596a78f9f51a08..dff15cdbd50a26e8ca66135fd9dc3346fa407a01 100644
--- a/src/plugins/projectexplorer/dependenciespanel.cpp
+++ b/src/plugins/projectexplorer/dependenciespanel.cpp
@@ -230,7 +230,14 @@ DependenciesWidget::DependenciesWidget(SessionManager *session,
     m_titleLabel->setText("Dummy Text");
     hbox->addWidget(m_titleLabel);
 
-    QToolButton *detailsButton = new QToolButton(this);
+    QAbstractButton *detailsButton;
+#ifdef Q_OS_MAC
+    detailsButton = new QPushButton;
+    detailsButton->setAttribute(Qt::WA_MacSmallSize);
+    detailsButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+#else
+    detailsButton = new QToolButton(this);
+#endif
     detailsButton->setText(tr("Details"));
     connect(detailsButton, SIGNAL(clicked()),
             this, SLOT(toggleDetails()));
diff --git a/src/plugins/projectexplorer/environmenteditmodel.cpp b/src/plugins/projectexplorer/environmenteditmodel.cpp
index d8d7486d637dac59c6a6b62067c8596f5deb3b03..fab5ed6ab4d9c28e75b225e02fcb08703344c339 100644
--- a/src/plugins/projectexplorer/environmenteditmodel.cpp
+++ b/src/plugins/projectexplorer/environmenteditmodel.cpp
@@ -438,7 +438,14 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, QWidget *additionalDetails
     m_summaryText = new QLabel(this);
     m_summaryText->setText("");
 
-    QToolButton *detailsButton = new QToolButton(this);
+     QAbstractButton *detailsButton;
+#ifdef Q_OS_MAC
+    detailsButton = new QPushButton(this);
+    detailsButton->setAttribute(Qt::WA_MacSmallSize);
+    detailsButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+#else
+    detailsButton = new QToolButton(this);
+#endif
     detailsButton->setText(tr("Details"));
 
     connect(detailsButton, SIGNAL(clicked()),
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index 0b240c9c0d2ada7d4eb518dc7c44e63e8cb195fa..3d9fcc427ad31f562bf54bcc002c1499ba30b521 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -79,7 +79,22 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
     m_ui->detailsWidget->setVisible(false);
     m_ui->titleLabel->setText("");
 
-    connect(m_ui->detailsButton, SIGNAL(clicked()),
+    QAbstractButton *detailsButton;
+#ifdef Q_OS_MAC
+    detailsButton = new QPushButton;
+    detailsButton->setAttribute(Qt::WA_MacSmallSize);
+    detailsButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+#else
+    detailsButton = new QToolButton;
+#endif
+    detailsButton->setText(tr("Details"));
+    QHBoxLayout *layout = new QHBoxLayout;
+    layout->setMargin(0);
+    layout->setSpacing(0);
+    layout->addWidget(detailsButton);
+    m_ui->detailsButtonWidget->setLayout(layout);
+
+    connect(detailsButton, SIGNAL(clicked()),
             this, SLOT(toggleDetails()));
 
     connect(m_ui->nameLineEdit, SIGNAL(textEdited(QString)),
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui b/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui
index b22eb21c3036a41d7649eb2ae082d44e6ed90db0..4ccc7d45334a5794f915e983bbf57e6904e5eb0c 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>463</width>
-    <height>221</height>
+    <width>557</width>
+    <height>237</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
@@ -38,9 +38,12 @@ placeholder</string>
       </widget>
      </item>
      <item row="0" column="1">
-      <widget class="QToolButton" name="detailsButton">
-       <property name="text">
-        <string>Details</string>
+      <widget class="QWidget" name="detailsButtonWidget" native="true">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
        </property>
       </widget>
      </item>