diff --git a/checkout/hosting_git_checkout.module b/checkout/hosting_git_checkout.module
index 0e110b1..05d843f 100644
--- a/checkout/hosting_git_checkout.module
+++ b/checkout/hosting_git_checkout.module
@@ -86,14 +86,14 @@ function hosting_task_git_checkout_form($node) {
     '#title' => t('Create a new branch.'),
     '#description' => t("Use the '-b' option to create a new branch."),
     '#type' => 'checkbox',
-    '#default_value' => TRUE,
+    '#default_value' => FALSE,
   );
 
   $form['push'] = array(
     '#title' => t('Push the new branch.'),
     '#description' => t("Push the new branch to the remote repository."),
     '#type' => 'checkbox',
-    '#default_value' => TRUE,
+    '#default_value' => FALSE,
     '#states' => array(
       'visible' => array(
         ':input[name="parameters[branch]"]' => array(
@@ -103,9 +103,19 @@ function hosting_task_git_checkout_form($node) {
     )
   );
 
+  $form['#submit'][] = 'hosting_git_checkout_settings_form_submit';
+
   return $form;
 }
 
+function hosting_git_checkout_settings_form_submit(&$form, &$form_state) {
+  if ($form_state['values']['branch'] == FALSE) {
+    // Ignore the push checkbox when it's not visible.
+    $form_state['values']['push'] = FALSE;
+  }
+}
+
+
 /**
  * Implements hook_form_alter().
  */
