diff --git a/field_collection.module b/field_collection.module
index fc09648..1d2c826 100644
--- a/field_collection.module
+++ b/field_collection.module
@@ -752,6 +752,13 @@ function field_collection_item_is_empty(FieldCollectionItemEntity $item) {
     $field_name = $instance['field_name'];
     $field = field_info_field($field_name);
 
+    if (array_key_exists('default_value', $instance)) {
+      $default_value_info = $instance['default_value'];
+      if (is_array($default_value_info)) {
+        $default_value = $default_value_info[0]['value'];
+      }
+    }
+
     // Determine the list of languages to iterate on.
     $languages = field_available_languages('field_collection_item', $field);
 
@@ -760,8 +767,24 @@ function field_collection_item_is_empty(FieldCollectionItemEntity $item) {
         // If at least one collection-field is not empty; the
         // field collection item is not empty.
         foreach ($item->{$field_name}[$langcode] as $field_item) {
-          if (!module_invoke($field['module'], 'field_is_empty', $field_item, $field)) {
-            $is_empty = FALSE;
+          $result = module_invoke($field['module'], 'field_is_empty', $field_item, $field);
+          if (!$result) {
+            $field_value = $field_item['value'];
+            if ($default_value === NULL && $instance['widget']['type'] == 'date_select') {
+
+              $default_date = date_default_value_part($item, $field, $instance, $langcode);
+              $granularity = date_granularity($field);
+              $default_date->limitGranularity($granularity);
+              $timezone_db = date_get_timezone_db($field['settings']['tz_handling']);
+              $field_date = new DateObject($field_value, $timezone_db, DATE_FORMAT_DATETIME);
+              $field_date->limitGranularity($granularity);
+              $default_value = $default_date->format(DATE_FORMAT_DATETIME);
+              $field_value = $field_date->format(DATE_FORMAT_DATETIME);
+            }
+            if ($field_value != $default_value)
+            {
+              $is_empty = FALSE;
+            }
           }
         }
       }
