diff --git a/date.module b/date.module
index efe474c..8dab0db 100644
--- a/date.module
+++ b/date.module
@@ -536,6 +536,7 @@ function date_entity_metadata_property_info_alter(&$info, $entity_type, $field,
   if (!empty($field['settings']['todate'])) {
     // Define a simple data structure containing both dates.
     $property['type'] = ($field['cardinality'] != 1) ? 'list<struct>' : 'struct';
+    $property['auto creation'] = 'date_entity_metadata_struct_create';
     $property['getter callback'] = 'entity_metadata_field_verbatim_get';
     $property['setter callback'] = 'entity_metadata_field_verbatim_set';
     $property['property info'] = array(
@@ -646,6 +647,19 @@ function date_entity_metadata_field_setter(&$entity, $name, $value, $langcode, $
 }
 
 /**
+ * Auto creation callback for fields which contain two date values in one
+ * @param $name
+ * @param $info
+ * @return array
+ */
+function date_entity_metadata_struct_create($name, $property_info) {
+  return array(
+    'date_type' => $property_info['field']['columns'][$name]['type'],
+    'timezone_db' => $property_info['field']['settings']['timezone_db'],
+  );
+}
+
+/**
  * Callback for setting an individual field value if a to-date may be there too.
  * Based on entity_property_verbatim_set().
  *
