diff -rupN cck/content.install cck_new/content.install
--- cck/content.install	2009-07-15 23:50:51.000000000 +1000
+++ content.install	2010-07-12 10:19:00.000000000 +1000
@@ -141,6 +141,8 @@ function content_schema() {
       'db_columns'      => array('type' => 'text', 'size' => 'medium', 'not null' => TRUE, 'serialize' => TRUE),
       'active'          => array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
       'locked'          => array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 0),
+      'initial'         => array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 1),
+      'new_per_click'   => array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 1),
     ),
     'primary key' => array('field_name'),
   );
@@ -618,4 +620,25 @@ function content_update_6010(&$sandbox)
     $ret['#finished'] = 1 - count($sandbox['tables']) / $sandbox['count'];
   }
   return $ret;
-}
\ No newline at end of file
+}
+
+/**
+ * Add 'initial' & 'new_per_click' properties for fields.
+ */
+function content_update_6011() {
+  if ($abort = content_check_update()) {
+    return $abort;
+  }
+
+  $ret = array();
+  drupal_load('module', 'content');
+  db_add_field($ret, content_field_tablename(), 'initial', array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 1));
+  db_add_field($ret, content_field_tablename(), 'new_per_click', array('type' => 'int', 'size' => 'tiny', 'not null' => TRUE, 'default' => 1));
+
+  // Set the initial value for existing fields so that there is no change in functionality.
+  $ret[] = update_sql("UPDATE {" . content_field_tablename() . "} SET initial = 1 WHERE multiple = 0");
+  $ret[] = update_sql("UPDATE {" . content_field_tablename() . "} SET initial = multiple WHERE multiple != 0");
+
+  variable_set('content_schema_version', 6011);
+  return $ret;
+}
diff -rupN cck/includes/content.admin.inc cck_new/includes/content.admin.inc
--- cck/includes/content.admin.inc	2009-11-03 08:21:35.000000000 +1100
+++ includes/content.admin.inc	2010-07-09 09:15:16.000000000 +1000
@@ -1150,11 +1150,25 @@ function content_field_edit_form(&$form_
   $description .= '<br/><strong>'. t('Warning! Changing this setting after data has been created could result in the loss of data!') .'</strong>';
   $form['field']['multiple'] = array(
     '#type' => 'select',
-    '#title' => t('Number of values'),
+    '#title' => t('Total number of values'),
     '#options' => array(1 => t('Unlimited'), 0 => 1) + drupal_map_assoc(range(2, 10)),
     '#default_value' => $field['multiple'],
     '#description' => $description,
   );
+  $form['field']['initial'] = array(
+    '#type' => 'select',
+    '#title' => t('Initial number of values'),
+    '#options' => drupal_map_assoc(range(1, 25)),
+    '#default_value' => $field['initial'],
+    '#description' => t("The number of values that will be presented initially.  This number must not be greater that the 'Total number of values'."),
+  );
+  $form['field']['new_per_click'] = array(
+    '#type' => 'select',
+    '#title' => t('Number of values per click'),
+    '#options' => drupal_map_assoc(range(1, 10)),
+    '#default_value' => $field['new_per_click'],
+    '#description' => t("The number of values that will be added for each click of the 'Add more' button.  Regardless of what this is set to it won't add more than the 'Total number of values'."),
+  );
 
   $form['field']['previous_field'] = array(
     '#type' => 'hidden',
@@ -1313,6 +1327,12 @@ function content_field_edit_form_validat
       }
     }
   }
+
+  // Make sure the initial value is >= the multiple value.
+  if (($form_values['multiple'] == 0 && $form_values['initial'] > 1) ||
+      ($form_values['multiple'] > 1 && $form_values['initial'] > $form_values['multiple'])) {
+    form_set_error('initial', t('The initial number of values cannot be greater than the total number of values.'));
+  }
 }
 
 /**
diff -rupN cck/includes/content.node_form.inc cck_new/includes/content.node_form.inc
--- cck/includes/content.node_form.inc	2009-12-29 20:03:15.000000000 +1100
+++ includes/content.node_form.inc	2010-07-09 09:22:21.000000000 +1000
@@ -156,20 +156,15 @@ function content_multiple_value_form(&$f
       $max = 0;
       break;
 
-    case 1:
+    default:
       $deltas = array_keys($items);
-      $current_item_count = max(1, (isset($form_state['item_count'][$field_name]) ? $form_state['item_count'][$field_name] : count($deltas)));
+      $current_item_count = max($field['initial'], (isset($form_state['item_count'][$field_name]) ? $form_state['item_count'][$field_name] : count($deltas)));
       $max = (!empty($deltas) ? max($deltas) : -1);
       while (count($deltas) < $current_item_count) {
         $max++;
         $deltas[] = $max;
       }
       break;
-
-    default:
-      $max = $field['multiple'] - 1;
-      $deltas = range(0, $max);
-      break;
   }
 
   $title = check_plain(t($field['widget']['label']));
@@ -211,7 +206,7 @@ function content_multiple_value_form(&$f
 
       // Add a checkbox to allow users remove a single delta item.
       // See content_set_empty() and theme_content_multiple_values().
-      if ($field['multiple'] == 1) {
+      if ($field['multiple'] == 1 || $field['multiple'] > $field['initial']) {
         // We name the element '_remove' to avoid clashing with column names
         // defined by field modules.
         $element['_remove'] = array(
@@ -232,12 +227,16 @@ function content_multiple_value_form(&$f
   }
 
   // Add AHAH add more button, if not working with a programmed form.
-  if ($field['multiple'] == 1 && empty($form['#programmed'])) {
+  if (($field['multiple'] == 1 || $field['multiple'] > $field['initial']) && empty($form['#programmed'])) {
     // Make sure the form is cached so ahah can work.
     $form['#cache'] = TRUE;
     $content_type = content_types($field['type_name']);
     $field_name_css = str_replace('_', '-', $field_name);
 
+    // If we are not using unlimited values and we now have max deltas disable the add button.
+    // This covers us for users who don't have javascript.
+    $disabled = ($field['multiple'] != 1 && $delta + 1 >= $field['multiple']) ? TRUE : FALSE;
+
     $form_element[$field_name .'_add_more'] = array(
       '#type' => 'submit',
       '#name' => $field_name .'_add_more',
@@ -257,6 +256,7 @@ function content_multiple_value_form(&$f
       // the relevant field using these entries.
       '#field_name' => $field_name,
       '#type_name' => $field['type_name'],
+      '#disabled' => $disabled,
     );
 
     // Add wrappers for the fields and 'more' button.
@@ -403,7 +403,12 @@ function content_add_more_submit($form,
 
   // Make the changes we want to the form state.
   if ($form_state['values'][$field_name][$field_name .'_add_more']) {
-    $form_state['item_count'][$field_name] = count($form_state['values'][$field_name]);
+    if ($form['#field_info'][$field_name]['multiple'] == 1) {
+      $form_state['item_count'][$field_name] = count($form_state['values'][$field_name]) + $form['#field_info'][$field_name]['new_per_click'] - 1;
+    }
+    else {
+      $form_state['item_count'][$field_name] = min(count($form_state['values'][$field_name]) + $form['#field_info'][$field_name]['new_per_click'] - 1, $form['#field_info'][$field_name]['multiple']);
+    }
   }
 }
 
@@ -414,7 +419,7 @@ function content_add_more_js($type_name_
   $type = content_types($type_name_url);
   $field = content_fields($field_name, $type['type']);
 
-  if (($field['multiple'] != 1) || empty($_POST['form_build_id'])) {
+  if (($field['multiple'] != 1 && $field['multiple'] <= $field['initial']) || empty($_POST['form_build_id'])) {
     // Invalid request.
     drupal_json(array('data' => ''));
     exit;
@@ -461,8 +466,14 @@ function content_add_more_js($type_name_
   $_POST[$field_name] = _content_sort_items($field, $_POST[$field_name]);
 
   // Build our new form element for the whole field, asking for one more element.
-  $delta = max(array_keys($_POST[$field_name])) + 1;
-  $form_state['item_count'] = array($field_name => count($_POST[$field_name]) + 1);
+  if ($field['multiple'] == 1) {
+    $delta = max(array_keys($_POST[$field_name])) + $field['new_per_click'];
+    $form_state['item_count'] = array($field_name => count($_POST[$field_name]) + $field['new_per_click']);
+  }
+  else {
+    $delta = min(max(array_keys($_POST[$field_name])) + $field['new_per_click'], $field['multiple'] - 1);
+    $form_state['item_count'] = array($field_name => min(count($_POST[$field_name]) + $field['new_per_click'], $field['multiple']));
+  }
   $form_element = content_field_form($form, $form_state, $field);
   // Let other modules alter it.
   drupal_alter('form', $form_element, array(), 'content_add_more_js');
@@ -475,6 +486,11 @@ function content_add_more_js($type_name_
     $form[$field_name] = $form_element[$field_name];
   }
 
+  // If we are not using unlimited values and we now have max deltas disable the add button.
+  if ($field['multiple'] != 1 && $delta + 1 >= $field['multiple']) {
+    $form[$field_name][$field_name . '_add_more']['#disabled'] = TRUE;
+  }
+
   // Save the new definition of the form.
   $form_state['values'] = array();
   form_set_cache($form_build_id, $form, $form_state);
diff -rupN cck/modules/content_multigroup/content_multigroup.admin.inc cck_new/modules/content_multigroup/content_multigroup.admin.inc
--- cck/modules/content_multigroup/content_multigroup.admin.inc	2009-11-03 06:22:37.000000000 +1100
+++ modules/content_multigroup/content_multigroup.admin.inc	2010-07-09 09:19:12.000000000 +1000
@@ -428,13 +428,29 @@ function content_multigroup_group_edit_f
   $description .= t('All fields in this group will automatically be set to allow this number of values.');
 
   $group_multiple = isset($group['settings']['multigroup']['multiple']) ? $group['settings']['multigroup']['multiple'] : 1;
+  $group_initial = isset($group['settings']['multigroup']['initial']) ? $group['settings']['multigroup']['initial'] : 1;
+  $group_new_per_click = isset($group['settings']['multigroup']['new_per_click']) ? $group['settings']['multigroup']['new_per_click'] : 1;
   $form['settings']['multigroup']['multiple'] = array(
     '#type' => 'select',
-    '#title' => t('Number of repeats'),
+    '#title' => t('Total number of repeats'),
     '#options' => content_multigroup_multiple_values(),
     '#default_value' => $group_multiple,
     '#description' => $description,
   );
+  $form['settings']['multigroup']['initial'] = array(
+    '#type' => 'select',
+    '#title' => t('Initial number of repeats'),
+    '#options' => drupal_map_assoc(range(1, 25)),
+    '#default_value' => $group_initial,
+    '#description' => t("The number of repeats of the collection of fields that will be presented initially.  This number must not be greater that the 'Total number of repeats'."),
+  );
+  $form['settings']['multigroup']['new_per_click'] = array(
+    '#type' => 'select',
+    '#title' => t('Number of repeats per click'),
+    '#options' => drupal_map_assoc(range(1, 10)),
+    '#default_value' => $group_new_per_click,
+    '#description' => t("The number of repeats that will be added for each click of the 'Add more' button.  Regardless of what this is set to it won't add more than the 'Total number of repeats'."),
+  );
 
   $form['settings']['multigroup']['labels'] = array(
     '#type' => 'fieldset',
@@ -477,12 +493,18 @@ function content_multigroup_group_edit_f
       form_set_error('settings][multigroup][multiple', t('The field %field in this group already has %multiple values in the database. To prevent the loss of data you cannot set the number of Multigroup values to less than this.', array('%field' => $data['label'], '%multiple' => $max_existing)));
     }
   }
+
+  // Make sure the initial value is >= the multiple value.
+  if (($form_values['settings']['multigroup']['multiple'] == 0 && $form_values['settings']['multigroup']['initial'] > 1) ||
+      ($form_values['settings']['multigroup']['multiple'] > 1 && $form_values['settings']['multigroup']['initial'] > $form_values['settings']['multigroup']['multiple'])) {
+    form_set_error('initial', t('The initial number of values cannot be greater than the total number of values.'));
+  }
 }
 
 /**
  * Submit the Fieldgroup edit form.
  *
- * Update multiple values of fields contained in Multigroups.
+ * Update multiple and initial values of fields contained in Multigroups.
  */
 function content_multigroup_group_edit_form_submit($form, &$form_state) {
   $form_values = $form_state['values'];
@@ -498,6 +520,8 @@ function content_multigroup_group_edit_f
   if (!empty($group_fields)) {
     foreach ($group_fields as $field_name => $field) {
       $field['multiple'] = $form_values['settings']['multigroup']['multiple'];
+      $field['initial'] = $form_values['settings']['multigroup']['initial'];
+      $field['new_per_click'] = $form_values['settings']['multigroup']['new_per_click'];
       $field = content_field_instance_collapse($field);
       content_field_instance_update($field, FALSE);
     }
diff -rupN cck/modules/content_multigroup/content_multigroup.install cck_new/modules/content_multigroup/content_multigroup.install
--- cck/modules/content_multigroup/content_multigroup.install	2009-06-07 10:06:21.000000000 +1000
+++ modules/content_multigroup/content_multigroup.install	2010-07-12 10:25:35.000000000 +1000
@@ -45,3 +45,27 @@ function content_multigroup_disable() {
   drupal_load('module', 'content');
   content_notify('disable', 'content_multigroup');
 }
+
+/**
+ * Implementation of hook_update_N().
+ *
+ * Add 'initial' & 'new_per_click' properties for multigoups.
+ */
+function content_multigroup_update_6301() {
+  $ret = array();
+
+  $groups = fieldgroup_groups();
+  foreach ($groups as $content_type) {
+    foreach ($content_type as $group) {
+      if ($group['group_type'] == 'multigroup') {
+        // Set the values for existing fields so that there is no change in functionality.
+        $group['settings']['multigroup']['initial'] = ($group['settings']['multigroup']['multiple'] == 0) ? 1 : $group['settings']['multigroup']['multiple'];
+        $group['settings']['multigroup']['new_per_click'] = 1;
+        // Save the changes.
+        fieldgroup_save_group($group['type_name'], $group);
+      }
+    }
+  }
+
+  return $ret;
+}
diff -rupN cck/modules/content_multigroup/content_multigroup.module cck_new/modules/content_multigroup/content_multigroup.module
--- cck/modules/content_multigroup/content_multigroup.module	2009-11-03 06:22:37.000000000 +1100
+++ modules/content_multigroup/content_multigroup.module	2010-07-12 11:24:53.000000000 +1000
@@ -105,7 +105,7 @@ function content_multigroup_fieldgroup_t
 function content_multigroup_fieldgroup_default_settings($group_type) {
   if ($group_type == 'multigroup') {
     module_load_include('inc', 'content', 'includes/content.admin');
-    $settings = array('multigroup' => array('multiple' => 1));
+    $settings = array('multigroup' => array('multiple' => 1, 'initial' => 1, 'new_per_click' => 1));
     foreach (array_keys(content_build_modes()) as $key) {
       $settings['display'][$key]['format'] = 'fieldset';
     }
@@ -127,6 +127,10 @@ function content_multigroup_form_alter(&
     if (!empty($group) && $group['group_type'] == 'multigroup') {
       $form['field']['multiple']['#value'] = $group['settings']['multigroup']['multiple'];
       $form['field']['multiple']['#access'] = FALSE;
+      $form['field']['initial']['#value'] = $group['settings']['multigroup']['initial'];
+      $form['field']['initial']['#access'] = FALSE;
+      $form['field']['new_per_click']['#value'] = 1;
+      $form['field']['new_per_click']['#access'] = FALSE;
     }
   }
   elseif ($form_id == 'content_field_edit_form' && isset($form_state['change_basic'])) {
diff -rupN cck/modules/content_multigroup/content_multigroup.node_form.inc cck_new/modules/content_multigroup/content_multigroup.node_form.inc
--- cck/modules/content_multigroup/content_multigroup.node_form.inc	2009-12-30 03:14:20.000000000 +1100
+++ modules/content_multigroup/content_multigroup.node_form.inc	2010-07-12 11:18:54.000000000 +1000
@@ -18,6 +18,7 @@ function _content_multigroup_fieldgroup_
   $node = $form['#node'];
   $group_name = $group['group_name'];
   $group_multiple = (int)$group['settings']['multigroup']['multiple'];
+  $group_initial = (int)$group['settings']['multigroup']['initial'];
   $content_type = content_types($group['type_name']);
 
   // Build list of accessible fields in this group.
@@ -41,7 +42,7 @@ function _content_multigroup_fieldgroup_
       $max_delta = 0;
       break;
 
-    case 1:
+    default:
       // Compute unique deltas from all deltas used by fields in this multigroup.
       $group_deltas = array();
       $max_delta = -1;
@@ -54,17 +55,12 @@ function _content_multigroup_fieldgroup_
           $max_delta = max($max_delta, max($group_deltas));
         }
       }
-      $current_item_count = isset($form_state['item_count'][$group_name]) ? $form_state['item_count'][$group_name] : max(1, count($group_deltas));
+      $current_item_count = isset($form_state['item_count'][$group_name]) ? $form_state['item_count'][$group_name] : max($group_initial, count($group_deltas));
       while (count($group_deltas) < $current_item_count) {
         $max_delta++;
         $group_deltas[] = $max_delta;
       }
       break;
-
-    default:
-      $max_delta = $group_multiple - 1;
-      $group_deltas = range(0, $max_delta);
-      break;
   }
 
   $form[$group_name]['#theme'] = 'content_multigroup_node_form';
@@ -140,6 +136,7 @@ function content_multigroup_group_form(&
   $node = $form['#node'];
   $group_fields = $form['#multigroups'][$group_name];
   $group_multiple = $group['settings']['multigroup']['multiple'];
+  $group_initial = $group['settings']['multigroup']['initial'];
 
   foreach ($group_fields as $field_name => $field) {
     if (empty($form[$group_name][$delta])) {
@@ -159,7 +156,7 @@ function content_multigroup_group_form(&
 
     // Add a checkbox to allow users remove a single delta subgroup.
     // See content_set_empty() and theme_content_multigroup_node_form().
-    if ($group_multiple == 1) {
+    if ($group_multiple == 1 || $group_multiple > $group_initial) {
       $form[$group_name][$delta]['_remove'] = array(
         '#type' => 'checkbox',
         '#attributes' => array('class' => 'content-multiple-remove-checkbox'),
@@ -651,7 +648,9 @@ function content_multigroup_fix_multival
  */
 function content_multigroup_add_more(&$form, &$form_state, $group) {
   $group_multiple = $group['settings']['multigroup']['multiple'];
-  if ($group_multiple != 1 || !empty($form['#programmed'])) {
+  $group_initial = $group['settings']['multigroup']['initial'];
+
+  if (($group_multiple != 1 && $group_multiple <= $group_initial) || !empty($form['#programmed'])) {
     return FALSE;
   }
 
@@ -660,6 +659,9 @@ function content_multigroup_add_more(&$f
   $content_type = content_types($group['type_name']);
   $group_name = $group['group_name'];
   $group_name_css = str_replace('_', '-', $group_name);
+  // If we are not using unlimited values and we now have max deltas disable the add button.
+  // This covers us for users who don't have javascript.
+  $disabled = ($group_multiple != 1 && $form[$group_name]['#item_count'] >= $group_multiple) ? TRUE : FALSE;
 
   $form_element = array();
   $form_element[$group_name .'_add_more'] = array(
@@ -679,6 +681,7 @@ function content_multigroup_add_more(&$f
     '#group_name' => $group_name,
     '#type_name' => $group['type_name'],
     '#item_count' => $form[$group_name]['#item_count'],
+    '#disabled' => $disabled,
   );
 
   // Add wrappers for the group and 'more' button.
@@ -703,7 +706,15 @@ function content_multigroup_add_more_sub
 
   // Make the changes we want to the form state.
   if (isset($form_state['clicked_button']['#item_count'])) {
-    $form_state['item_count'][$group_name] = $form_state['clicked_button']['#item_count'] + 1;
+    $groups = fieldgroup_groups($type_name);
+    $group = $groups[$group_name];
+
+    if ($group['settings']['multigroup']['multiple'] == 1) {
+      $form_state['item_count'][$group_name] = $form_state['clicked_button']['#item_count'] + $group['settings']['multigroup']['new_per_click'];
+    }
+    else {
+      $form_state['item_count'][$group_name] = min($form_state['clicked_button']['#item_count'] + $group['settings']['multigroup']['new_per_click'], $group['settings']['multigroup']['multiple']);
+    }
   }
 }
 
@@ -717,7 +728,7 @@ function content_multigroup_add_more_js(
   $groups = fieldgroup_groups($content_type['type']);
   $group = $groups[$group_name];
 
-  if (($group['settings']['multigroup']['multiple'] != 1) || empty($_POST['form_build_id'])) {
+  if (($group['settings']['multigroup']['multiple'] != 1 && $group['settings']['multigroup']['multiple'] <= $group['settings']['multigroup']['initial']) || empty($_POST['form_build_id'])) {
     // Invalid request.
     drupal_json(array('data' => ''));
     exit;
@@ -761,19 +772,30 @@ function content_multigroup_add_more_js(
     $form_state['values'][$group_name][$delta]['_remove'] = isset($item['_remove']) ? $item['_remove'] : 0;
   }
   $group['multiple'] = $group['settings']['multigroup']['multiple'];
+  $group['new_per_click'] = $group['settings']['multigroup']['new_per_click'];
   $form_state['values'][$group_name] = _content_sort_items($group, $form_state['values'][$group_name]);
   $_POST[$group_name] = _content_sort_items($group, $_POST[$group_name]);
 
-  // Build our new form element for the whole group, asking for one more element.
-  $delta = max(array_keys($_POST[$group_name])) + 1;
-  $form_state['item_count'] = array($group_name => count($_POST[$group_name]) + 1);
-  content_multigroup_group_form($form, $form_state, $group, $delta);
-
-  // Rebuild weight deltas to make sure they all are equally dimensioned.
-  foreach ($form[$group_name] as $key => $item) {
-    if (is_numeric($key) && isset($item['_weight']) && is_array($item['_weight'])) {
-      $form[$group_name][$key]['_weight']['#delta'] = $delta;
+  $new_count = ($group['multiple'] == 1) ? $group['new_per_click'] : min($group['multiple'] - count($_POST[$group_name]), $group['new_per_click']);
+  while ($new_count > 0) {
+    $delta = max(array_keys($_POST[$group_name])) + 1;
+    $form_state['item_count'] = array($group_name => count($_POST[$group_name]) + 1);
+    content_multigroup_group_form($form, $form_state, $group, $delta);
+
+    // Rebuild weight deltas to make sure they all are equally dimensioned.
+    foreach ($form[$group_name] as $key => $item) {
+      if (is_numeric($key) && isset($item['_weight']) && is_array($item['_weight'])) {
+        $form[$group_name][$key]['_weight']['#delta'] = $delta;
+      }
     }
+    $_POST[$group_name][$delta]['_weight'] = $delta;
+
+    $new_count--;
+  }
+
+  // If we are not using unlimited values and we now have max deltas disable the add button.
+  if ($group['multiple'] != 1 && $delta + 1 >= $group['multiple']) {
+    $form[$group_name][$group_name . '_add_more']['#disabled'] = TRUE;
   }
 
   // Save the new definition of the form.
@@ -782,7 +804,6 @@ function content_multigroup_add_more_js(
 
   // Build the new form against the incoming $_POST values so that we can
   // render the new element.
-  $_POST[$group_name][$delta]['_weight'] = $delta;
   $form_state = array('submitted' => FALSE, 'multigroup_add_more' => TRUE);
   $form += array(
     '#post' => $_POST,
@@ -828,6 +849,7 @@ function theme_content_multigroup_node_f
   $groups = fieldgroup_groups($element['#type_name']);
   $group = $groups[$group_name];
   $group_multiple = $group['settings']['multigroup']['multiple'];
+  $group_initial = $group['settings']['multigroup']['initial'];
   $group_fields = $element['#group_fields'];
 
   $table_id = $element['#group_name'] .'_values';
@@ -860,7 +882,7 @@ function theme_content_multigroup_node_f
   }
   if ($group_multiple >= 1) {
     $headers[] = array('data' => t('Order'), 'class' => 'content-multiple-weight-header');
-    if ($group_multiple == 1) {
+    if ($group_multiple == 1 || $group_multiple > $group_initial) {
       $headers[] = array('data' => '<span>'. t('Remove') .'</span>', 'class' => 'content-multiple-remove-header');
     }
   }
@@ -875,7 +897,7 @@ function theme_content_multigroup_node_f
       if ($group_multiple >= 1) {
         $cells[] = array('data' => '', 'class' => 'content-multiple-drag');
         $delta_element = drupal_render($element[$key]['_weight']);
-        if ($group_multiple == 1) {
+        if ($group_multiple == 1 || $group_multiple > $group_initial) {
           $remove_element = drupal_render($element[$key]['_remove']);
         }
       }
@@ -900,7 +922,7 @@ function theme_content_multigroup_node_f
       if ($group_multiple >= 1) {
         $row_class = 'draggable';
         $cells[] = array('data' => $delta_element, 'class' => 'delta-order');
-        if ($group_multiple == 1) {
+        if ($group_multiple == 1 || $group_multiple > $group_initial) {
           if (!empty($element[$key]['_remove']['#value'])) {
             $row_class .= ' content-multiple-removed-row';
           }
