diff --git a/src/plugins/git/clonewizardpage.cpp b/src/plugins/git/clonewizardpage.cpp
index 504c60e283ac83ab14eb3b90f8601e2c6fa0a73c..3b321f96e4da215972782aa941cbf4efb9787b01 100644
--- a/src/plugins/git/clonewizardpage.cpp
+++ b/src/plugins/git/clonewizardpage.cpp
@@ -63,7 +63,8 @@ CloneWizardPage::CloneWizardPage(QWidget *parent) :
     setSubTitle(tr("Specify repository URL, checkout directory and path."));
     setRepositoryLabel(tr("Clone URL:"));
     d->deleteMasterCheckBox = new QCheckBox(tr("Delete master branch"));
-    addControl(d->deleteMasterCheckBox);
+    d->deleteMasterCheckBox->setToolTip(tr("Delete the master branch after checking out the repository."));
+    addLocalControl(d->deleteMasterCheckBox);
     setDeleteMasterBranch(true);
 }
 
diff --git a/src/plugins/vcsbase/basecheckoutwizardpage.cpp b/src/plugins/vcsbase/basecheckoutwizardpage.cpp
index 111d069fb5c58632527b2ba10016ec1c64c89483..b575e839492833ca7820ead9b26c4f74cd916ef1 100644
--- a/src/plugins/vcsbase/basecheckoutwizardpage.cpp
+++ b/src/plugins/vcsbase/basecheckoutwizardpage.cpp
@@ -53,6 +53,8 @@ BaseCheckoutWizardPage::BaseCheckoutWizardPage(QWidget *parent) :
     connect(d->ui.checkoutDirectoryLineEdit, SIGNAL(validChanged()),
             this, SLOT(slotChanged()));
     connect(d->ui.checkoutDirectoryLineEdit, SIGNAL(textEdited(QString)), this, SLOT(slotDirectoryEdited()));
+    connect(d->ui.branchComboBox, SIGNAL(currentIndexChanged(int)),
+            this, SLOT(slotChanged()));
 
     d->ui.pathChooser->setExpectedKind(Utils::PathChooser::Directory);
     connect(d->ui.pathChooser, SIGNAL(validChanged()), this, SLOT(slotChanged()));
@@ -67,14 +69,31 @@ BaseCheckoutWizardPage::~BaseCheckoutWizardPage()
     delete d;
 }
 
-void BaseCheckoutWizardPage::addControl(QWidget *w)
+void BaseCheckoutWizardPage::addLocalControl(QWidget *w)
+{
+    d->ui.localLayout->addRow(w);
+}
+
+void BaseCheckoutWizardPage::addLocalControl(QString &description, QWidget *w)
 {
-    d->ui.formLayout->addRow(w);
+    d->ui.localLayout->addRow(description, w);
 }
 
-void BaseCheckoutWizardPage::addControl(QString &description, QWidget *w)
+void BaseCheckoutWizardPage::addRepositoryControl(QWidget *w)
 {
-    d->ui.formLayout->addRow(description, w);
+    d->ui.repositoryLayout->addRow(w);
+}
+
+bool BaseCheckoutWizardPage::checkIsValid() const
+{
+    return d->ui.pathChooser->isValid()
+            && d->ui.checkoutDirectoryLineEdit->isValid()
+            && !d->ui.repositoryLineEdit->text().isEmpty();
+}
+
+void BaseCheckoutWizardPage::addRepositoryControl(QString &description, QWidget *w)
+{
+    d->ui.repositoryLayout->addRow(description, w);
 }
 
 bool BaseCheckoutWizardPage::isBranchSelectorVisible() const
@@ -167,6 +186,7 @@ void BaseCheckoutWizardPage::slotRefreshBranches()
         if (current >= 0 && current < branchList.size())
             d->ui.branchComboBox->setCurrentIndex(current);
     }
+    slotChanged();
 }
 
 void BaseCheckoutWizardPage::slotRepositoryChanged(const QString &repo)
@@ -212,9 +232,7 @@ bool BaseCheckoutWizardPage::isComplete() const
 
 void BaseCheckoutWizardPage::slotChanged()
 {
-    const bool valid = d->ui.pathChooser->isValid()
-                       && d->ui.checkoutDirectoryLineEdit->isValid()
-                       && !d->ui.repositoryLineEdit->text().isEmpty();
+    const bool valid = checkIsValid();
 
     if (valid != d->m_valid) {
         d->m_valid = valid;
diff --git a/src/plugins/vcsbase/basecheckoutwizardpage.h b/src/plugins/vcsbase/basecheckoutwizardpage.h
index f4471298a77a746c107ca52bfc6cf785fe933866..9d5cbcc51943113d20e9b01c5ff85f839ca8b22c 100644
--- a/src/plugins/vcsbase/basecheckoutwizardpage.h
+++ b/src/plugins/vcsbase/basecheckoutwizardpage.h
@@ -71,7 +71,7 @@ public:
 
     virtual bool isComplete() const;
 
-    bool isBranchSelectorVisible() const ;
+    bool isBranchSelectorVisible() const;
 
 protected:
     void changeEvent(QEvent *e);
@@ -88,8 +88,14 @@ protected:
     virtual QStringList branches(const QString &repository, int *current);
 
     /* Add additional controls */
-    void addControl(QWidget *w);
-    void addControl(QString &description, QWidget *w);
+    void addLocalControl(QWidget *w);
+    void addLocalControl(QString &description, QWidget *w);
+
+    void addRepositoryControl(QWidget *w);
+    void addRepositoryControl(QString &description, QWidget *w);
+
+    /* Override validity information */
+    virtual bool checkIsValid() const;
 
 private slots:
     void slotRepositoryChanged(const QString &url);
diff --git a/src/plugins/vcsbase/basecheckoutwizardpage.ui b/src/plugins/vcsbase/basecheckoutwizardpage.ui
index eb48ba9b4671bb57a5f09afc770361bc4e618e23..f94995ccdf262571ddffe43bab5b3ed745fb85ca 100644
--- a/src/plugins/vcsbase/basecheckoutwizardpage.ui
+++ b/src/plugins/vcsbase/basecheckoutwizardpage.ui
@@ -13,64 +13,129 @@
   <property name="windowTitle">
    <string>WizardPage</string>
   </property>
-  <layout class="QHBoxLayout" name="horizontalLayout">
+  <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QFormLayout" name="formLayout">
-     <item row="0" column="0">
-      <widget class="QLabel" name="repositoryLabel"/>
-     </item>
-     <item row="0" column="1">
-      <widget class="QLineEdit" name="repositoryLineEdit"/>
-     </item>
-     <item row="1" column="0">
-      <widget class="QLabel" name="checkoutDirectoryLabel">
-       <property name="text">
-        <string>Checkout Directory:</string>
-       </property>
-      </widget>
-     </item>
-     <item row="1" column="1">
-      <widget class="Utils::ProjectNameValidatingLineEdit" name="checkoutDirectoryLineEdit"/>
-     </item>
-     <item row="2" column="0">
-      <widget class="QLabel" name="pathLabel">
-       <property name="text">
-        <string>Path:</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="1">
-      <widget class="Utils::PathChooser" name="pathChooser" native="true"/>
-     </item>
-     <item row="3" column="0">
-      <widget class="QLabel" name="branchLabel">
-       <property name="text">
-        <string>Branch:</string>
-       </property>
-      </widget>
-     </item>
-     <item row="3" column="1">
-      <layout class="QHBoxLayout" name="branchHorizontalLayout">
-       <item>
-        <widget class="QComboBox" name="branchComboBox">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QToolButton" name="branchRefreshToolButton">
-         <property name="text">
-          <string>...</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-    </layout>
+    <widget class="QGroupBox" name="repositoryGroupBox">
+     <property name="title">
+      <string>Repository</string>
+     </property>
+     <property name="flat">
+      <bool>true</bool>
+     </property>
+     <property name="checkable">
+      <bool>false</bool>
+     </property>
+     <layout class="QFormLayout" name="repositoryLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="repositoryLabel"/>
+      </item>
+      <item row="0" column="1">
+       <widget class="QLineEdit" name="repositoryLineEdit">
+        <property name="toolTip">
+         <string>The remote repository to check out.</string>
+        </property>
+        <property name="whatsThis">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="branchLabel">
+        <property name="text">
+         <string>Branch:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <layout class="QHBoxLayout" name="branchHorizontalLayout">
+        <item>
+         <widget class="QComboBox" name="branchComboBox">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="toolTip">
+           <string>The development branch in the remote repository to check out.</string>
+          </property>
+          <property name="whatsThis">
+           <string/>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QToolButton" name="branchRefreshToolButton">
+          <property name="toolTip">
+           <string>Retrieve list of branches in repository.</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="localGroupBox">
+     <property name="title">
+      <string>Working Copy</string>
+     </property>
+     <property name="flat">
+      <bool>true</bool>
+     </property>
+     <layout class="QFormLayout" name="localLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="pathLabel">
+        <property name="toolTip">
+         <string>The path in which the directory containing the checkout will be created.</string>
+        </property>
+        <property name="text">
+         <string>Checkout Path:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="Utils::PathChooser" name="pathChooser"/>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="checkoutDirectoryLabel">
+        <property name="toolTip">
+         <string>The local directory that will contain the code after the checkout.</string>
+        </property>
+        <property name="text">
+         <string>Checkout Directory:</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="Utils::ProjectNameValidatingLineEdit" name="checkoutDirectoryLineEdit">
+        <property name="toolTip">
+         <string>The local directory that will contain the code after the checkout.</string>
+        </property>
+        <property name="whatsThis">
+         <string/>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>0</height>
+      </size>
+     </property>
+    </spacer>
    </item>
   </layout>
  </widget>
@@ -82,9 +147,8 @@
   </customwidget>
   <customwidget>
    <class>Utils::PathChooser</class>
-   <extends>QWidget</extends>
-   <header location="global">utils/pathchooser.h</header>
-   <container>1</container>
+   <extends>QLineEdit</extends>
+   <header>utils/pathchooser.h</header>
   </customwidget>
  </customwidgets>
  <resources/>