diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp
index 59e3222badd833bfad2376c53f1e1c82165b8268..fe68964b63192c66c445789b84f48438840f9646 100644
--- a/src/libs/utils/pathchooser.cpp
+++ b/src/libs/utils/pathchooser.cpp
@@ -138,6 +138,11 @@ void PathChooser::addButton(const QString &text, QObject *receiver, const char *
     m_d->m_hLayout->addWidget(button);
 }
 
+QAbstractButton *PathChooser::buttonAtIndex(int index) const
+{
+    return findChildren<QAbstractButton*>().at(index);
+}
+
 QString PathChooser::path() const
 {
     return m_d->m_lineEdit->text();
diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h
index 7222dc3aedbd16ec942296cb2185fddcf894427e..984b7db8371aaadaa34f1b7817ec14cda3445544 100644
--- a/src/libs/utils/pathchooser.h
+++ b/src/libs/utils/pathchooser.h
@@ -33,6 +33,7 @@
 #include "utils_global.h"
 
 #include <QtGui/QWidget>
+#include <QtGui/QAbstractButton>
 
 namespace Core {
 namespace Utils {
@@ -91,6 +92,7 @@ public:
     static QString homePath();
 
     void addButton(const QString &text, QObject *receiver, const char *slotFunc);
+    QAbstractButton *buttonAtIndex(int index) const;
 
 private:
     // Returns overridden title or the one from <title>
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index 3e86d948a7b55bc3ef2a416837e3af2284677047..e344ff23076d2a66af1afde5c6901cccb71bc79c 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -56,6 +56,19 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
 {
     m_ui = new Ui::Qt4ProjectConfigWidget();
     m_ui->setupUi(this);
+
+    // fix the layout
+    QAbstractButton *browseButton = m_ui->shadowBuildDirEdit->buttonAtIndex(0);
+    m_ui->gridLayout->addWidget(browseButton, 4, 2);
+    int minimumHeight = qMax(m_ui->qtVersionComboBox->sizeHint().height(), m_ui->manageQtVersionPushButtons->sizeHint().height());
+    Qt::Alignment labelAlignment = Qt::Alignment(style()->styleHint(QStyle::SH_FormLayoutLabelAlignment));
+    for (int i = 0; i < m_ui->gridLayout->rowCount(); ++i) {
+        m_ui->gridLayout->setRowMinimumHeight(i, minimumHeight);
+        QLayoutItem *item = m_ui->gridLayout->itemAtPosition(i, 0);
+        if (item)
+            item->setAlignment(labelAlignment);
+    }
+
     m_ui->shadowBuildDirEdit->setPromptDialogTitle(tr("Shadow Build Directory"));
     m_ui->shadowBuildDirEdit->setExpectedKind(Core::Utils::PathChooser::Directory);
     m_ui->invalidQtWarningLabel->setVisible(false);
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui b/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui
index 5f238cb4195d08cf52ccef2c52e82f05e5caddaf..441091370674b10086d241472b93bd4e6da392ae 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui
@@ -10,11 +10,20 @@
     <height>247</height>
    </rect>
   </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0">
-    <layout class="QFormLayout" name="formLayout">
-     <property name="fieldGrowthPolicy">
-      <enum>QFormLayout::ExpandingFieldsGrow</enum>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <property name="horizontalSpacing">
+      <number>8</number>
+     </property>
+     <property name="verticalSpacing">
+      <number>4</number>
      </property>
      <item row="0" column="0">
       <widget class="QLabel" name="nameLabel">
@@ -47,46 +56,52 @@
       </widget>
      </item>
      <item row="1" column="1">
-      <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>4</number>
+       </property>
        <item>
         <widget class="QComboBox" name="qtVersionComboBox">
          <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+          <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
            <horstretch>0</horstretch>
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
         </widget>
        </item>
-       <item>
-        <widget class="QPushButton" name="manageQtVersionPushButtons">
-         <property name="text">
-          <string>Manage Qt Versions</string>
-         </property>
-        </widget>
-       </item>
        <item>
         <widget class="QLabel" name="invalidQtWarningLabel">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
          <property name="text">
           <string>This Qt-Version is invalid.</string>
          </property>
         </widget>
        </item>
-       <item>
-        <spacer name="horizontalSpacer_2">
-         <property name="orientation">
-          <enum>Qt::Horizontal</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>40</width>
-           <height>20</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
       </layout>
      </item>
+     <item row="1" column="2">
+      <widget class="QPushButton" name="manageQtVersionPushButtons">
+       <property name="text">
+        <string>Manage</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
+        <string>Tool Chain:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1">
+      <widget class="QComboBox" name="toolChainComboBox"/>
+     </item>
      <item row="3" column="0">
       <widget class="QLabel" name="label">
        <property name="text">
@@ -114,18 +129,8 @@
        </property>
       </widget>
      </item>
-     <item row="5" column="1">
-      <widget class="QLabel" name="importLabel">
-       <property name="text">
-        <string>&lt;a href=&quot;import&quot;&gt;Import existing build&lt;/a&gt;</string>
-       </property>
-       <property name="textFormat">
-        <enum>Qt::RichText</enum>
-       </property>
-      </widget>
-     </item>
      <item row="4" column="1">
-      <widget class="Core::Utils::PathChooser" name="shadowBuildDirEdit" native="true">
+      <widget class="Core::Utils::PathChooser" name="shadowBuildDirEdit">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
          <horstretch>0</horstretch>
@@ -134,35 +139,19 @@
        </property>
       </widget>
      </item>
-     <item row="2" column="1">
-      <widget class="QComboBox" name="toolChainComboBox"/>
-     </item>
-     <item row="2" column="0">
-      <widget class="QLabel" name="label_2">
+     <item row="5" column="1">
+      <widget class="QLabel" name="importLabel">
        <property name="text">
-        <string>Tool Chain:</string>
+        <string>&lt;a href=&quot;import&quot;&gt;Import existing build&lt;/a&gt;</string>
+       </property>
+       <property name="textFormat">
+        <enum>Qt::RichText</enum>
        </property>
       </widget>
      </item>
     </layout>
    </item>
-   <item row="0" column="1">
-    <spacer name="horizontalSpacer">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeType">
-      <enum>QSizePolicy::Preferred</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>0</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="1" column="0">
+   <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>