diff --git a/includes/entity.wrapper.inc b/includes/entity.wrapper.inc
index 06b89ad..c07c88f 100644
--- a/includes/entity.wrapper.inc
+++ b/includes/entity.wrapper.inc
@@ -29,6 +29,9 @@ abstract class EntityMetadataWrapper {
     $this->type = $type;
     $this->info = $info + array(
       'langcode' => NULL,
+      // Use TRUE for backward compatibility. Use path
+      // path_is_admin(current_path()) for a different behaviour in admin UI.
+      'langfallback' => path_is_admin(current_path()),
     );
     $this->info['type'] = $type;
     if (isset($data)) {
@@ -437,6 +440,7 @@ class EntityStructureWrapper extends EntityMetadataWrapper implements IteratorAg
     if (!isset($data)) {
       throw new EntityMetadataWrapperException('Unable to get the data property ' . check_plain($name) . ' as the parent data structure is not set.');
     }
+
     return $info['getter callback']($data, $options, $name, $this->type, $info);
   }
 
diff --git a/modules/callbacks.inc b/modules/callbacks.inc
index 26f802e..ef0d910 100644
--- a/modules/callbacks.inc
+++ b/modules/callbacks.inc
@@ -431,7 +431,7 @@ function entity_metadata_field_property_get($entity, array $options, $name, $ent
   $field = field_info_field($name);
   $columns = array_keys($field['columns']);
   $langcode = isset($options['language']) ? $options['language']->language : LANGUAGE_NONE;
-  $langcode = entity_metadata_field_get_language($entity_type, $entity, $field, $langcode, TRUE);
+  $langcode = entity_metadata_field_get_language($entity_type, $entity, $field, $langcode, $info['langfallback']);
   $values = array();
   if (isset($entity->{$name}[$langcode])) {
     foreach ($entity->{$name}[$langcode] as $delta => $data) {
@@ -512,7 +512,7 @@ function entity_metadata_field_verbatim_get($entity, array $options, $name, $ent
   $context['instance'] = field_info_instance($context['parent']->type(), $name, $context['parent']->getBundle());
   $context['field'] = field_info_field($name);
   $langcode = isset($options['language']) ? $options['language']->language : LANGUAGE_NONE;
-  $langcode = entity_metadata_field_get_language($entity_type, $entity, $context['field'], $langcode, TRUE);
+  $langcode = entity_metadata_field_get_language($entity_type, $entity, $context['field'], $langcode, $context['langfallback']);
 
   if ($context['field']['cardinality'] == 1) {
     return isset($entity->{$name}[$langcode][0]) ? $entity->{$name}[$langcode][0] : NULL;
