diff --git a/field_collection.module b/field_collection.module index 86910a0..14d90ea 100644 --- a/field_collection.module +++ b/field_collection.module @@ -893,10 +893,10 @@ function field_collection_field_settings_form($field, $instance) { function field_collection_field_insert($host_entity_type, $host_entity, $field, $instance, $langcode, &$items) { foreach ($items as &$item) { if ($entity = field_collection_field_get_entity($item)) { - if (!empty($host_entity->is_new)) { + if (!empty($host_entity->is_new) && empty($entity->is_new)) { // If the host entity is new but we have a field_collection that is not - // new, it means it is being cloned, thus we need to clone the field - // collection entity as well. + // new, it means that its host is being cloned. Thus we need to clone + // the field collection entity as well. $new_entity = clone $entity; $new_entity->item_id = NULL; $new_entity->revision_id = NULL;