diff --git a/entityreference.module b/entityreference.module
index bdcb562..1b6eedc 100644
--- a/entityreference.module
+++ b/entityreference.module
@@ -1094,6 +1094,7 @@ function entityreference_field_formatter_info() {
       'settings' => array(
         'view_mode' => 'default',
         'links' => TRUE,
+        'use_content_language' => TRUE,
       ),
     ),
   );
@@ -1136,6 +1137,12 @@ function entityreference_field_formatter_settings_form($field, $instance, $view_
       '#title' => t('Show links'),
       '#default_value' => $settings['links'],
     );
+
+    $element['use_content_language'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Use current content language'),
+      '#default_value' => $settings['use_content_language'],
+    );
   }
 
   return $element;
@@ -1162,6 +1169,7 @@ function entityreference_field_formatter_settings_summary($field, $instance, $vi
     }
     $summary[] = t('Rendered as @mode', array('@mode' => $view_mode_label));
     $summary[] = !empty($settings['links']) ? t('Display links') : t('Do not display links');
+    $summary[] = !empty($settings['use_content_language']) ? t('Use current content language') : t('Use field language');
   }
 
   return implode('<br />', $summary);
@@ -1255,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;
@@ -1263,9 +1276,9 @@ function entityreference_field_formatter_view($entity_type, $entity, $field, $in
           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'])));
         }
 
-        $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;
