diff --git a/modules/field_ui/field_ui.admin.inc b/modules/field_ui/field_ui.admin.inc
index 7d09d6f..3a9a7ad 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,20 @@ 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_count = 0;
+    foreach ($items as $item) {
+      if (!empty($item['value'])) {
+        $non_empty_items_count++;
+      }
+    }
+    if ($non_empty_items_count > $form_state['values']['field']['cardinality']) {
+      $errors[$field['field_name']][LANGUAGE_NONE][0][] = array(
+        'error' => 'cardinality_smaller_than_existing_default_values',
+        'message' => t('%name: you have entered more default values (%count_non_empty_items) than allowed by the current cardinality (%cardinality).', array('%name' => $instance['label'], '%count_non_empty_items' => $non_empty_items_count, '%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];
