diff --git a/modules/callbacks.inc b/modules/callbacks.inc index 3865efd..c11af7f 100644 --- a/modules/callbacks.inc +++ b/modules/callbacks.inc @@ -564,6 +564,12 @@ function entity_metadata_field_get_language($entity_type, $entity, $field, $lang $langcode = ($langcode != LANGUAGE_NONE) ? field_valid_language($langcode, $default_langcode) : $default_langcode; if (!isset($entity->{$field['field_name']}[$langcode]) && $fallback) { $langcode = $default_langcode; + + // If the field has a value under LANGUAGE_NONE and doesn't have a value + // under the default language, don't force the default language. + if (empty($entity->{$field['field_name']}[$langcode]) && isset($entity->{$field['field_name']}[LANGUAGE_NONE])) { + $langcode = LANGUAGE_NONE; + } } return $langcode; }