diff --git a/entityreference.module b/entityreference.module
index f77578f..1b6eedc 100644
--- a/entityreference.module
+++ b/entityreference.module
@@ -1263,6 +1263,11 @@ function entityreference_field_formatter_view($entity_type, $entity, $field, $in
       break;
 
     case 'entityreference_entity_view':
+      $target_langcode = $langcode;
+      if (!empty($settings['use_content_language']) && !empty($GLOBALS['language_content']->language)) {
+        $target_langcode = $GLOBALS['language_content']->language;
+      }
+
       foreach ($items as $delta => $item) {
         // Protect ourselves from recursive rendering.
         static $depth = 0;
@@ -1270,13 +1275,10 @@ function entityreference_field_formatter_view($entity_type, $entity, $field, $in
         if ($depth > 20) {
           throw new EntityReferenceRecursiveRenderingException(t('Recursive rendering detected when rendering entity @entity_type(@entity_id). Aborting rendering.', array('@entity_type' => $entity_type, '@entity_id' => $item['target_id'])));
         }
-        if (!empty($settings['use_content_language']) && !empty($GLOBALS['language_content']->language)) {
-          $langcode = $GLOBALS['language_content']->language;
-        }
 
-        $entity = clone $item['entity'];
-        unset($entity->content);
-        $result[$delta] = entity_view($field['settings']['target_type'], array($item['target_id'] => $entity), $settings['view_mode'], $langcode, FALSE);
+        $target_entity = clone $item['entity'];
+        unset($target_entity->content);
+        $result[$delta] = entity_view($field['settings']['target_type'], array($item['target_id'] => $target_entity), $settings['view_mode'], $target_langcode, FALSE);
 
         if (empty($settings['links']) && isset($result[$delta][$field['settings']['target_type']][$item['target_id']]['links'])) {
           $result[$delta][$field['settings']['target_type']][$item['target_id']]['links']['#access'] = FALSE;
