diff --git a/modules/field_ui/field_ui.admin.inc b/modules/field_ui/field_ui.admin.inc
index 7d09d6f..c6ec7ea 100644
--- a/modules/field_ui/field_ui.admin.inc
+++ b/modules/field_ui/field_ui.admin.inc
@@ -1987,7 +1987,7 @@ function field_ui_default_value_widget($field, $instance, &$form, &$form_state)
     '#title' => t('Default value'),
     '#collapsible' => FALSE,
     '#tree' => TRUE,
-    '#description' => t('The default value for this field, used when creating new content.'),
+    '#description' => t('The default value(s) for this field, used when creating new content.'),
     // Stick to an empty 'parents' on this form in order not to breaks widgets
     // that do not use field_widget_[field|instance]() and still access
     // $form_state['field'] directly.
@@ -1999,8 +1999,8 @@ function field_ui_default_value_widget($field, $instance, &$form, &$form_state)
   $instance['required'] = FALSE;
   $instance['description'] = '';
 
-  // @todo Allow multiple values (requires more work on 'add more' JS handler).
-  $element += field_default_form($instance['entity_type'], NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state, 0);
+  // @todo Allow unlimited values (requires more work on 'add more' JS handler).
+  $element += field_default_form($instance['entity_type'], NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state);
 
   return $element;
 }
@@ -2032,6 +2032,16 @@ function field_ui_field_edit_form_validate($form, &$form_state) {
     if (function_exists($function)) {
       $function(NULL, NULL, $field, $instance, LANGUAGE_NONE, $items, $errors);
     }
+    // Checking for a difference between the existing default values and the cardinality setting
+    $non_empty_items = array_filter($items, function($default_value_item) {
+      return !empty($default_value_item['value']);
+    });
+    if (count($non_empty_items) > $form_state['values']['field']['cardinality']) {
+      $errors[$field['field_name']][LANGUAGE_NONE][0][] = array(
+        'error' => 'cardinality_smaller_than_existing_default_values',
+        'message' => t('%name: the number of existing default values (%count_non_empty_items) is greater than the given cardinality setting (%cardinality).', array('%name' => $instance['label'], '%count_non_empty_items' => count($non_empty_items), '%cardinality' => $form_state['values']['field']['cardinality'])),
+      );
+    }
     if (isset($errors[$field_name][LANGUAGE_NONE])) {
       // Store reported errors in $form_state.
       $field_state['errors'] = $errors[$field_name][LANGUAGE_NONE];
