diff --git a/file_entity.field.inc b/file_entity.field.inc
index 43016ff..7fe50a7 100644
--- a/file_entity.field.inc
+++ b/file_entity.field.inc
@@ -13,7 +13,7 @@ function file_entity_field_formatter_info() {
     'label' => t('Rendered file'),
     'description' => t('Display the file in a specific view mode'),
     'field types' => array('file', 'image'),
-    'settings' => array('file_view_mode' => 'default'),
+    'settings' => array('file_view_mode' => 'default', 'image_style' => ''),
   );
   return $info;
 }
@@ -34,6 +34,16 @@ function file_entity_field_formatter_settings_form($field, $instance, $view_mode
       '#default_value' => $settings['file_view_mode'],
       // Never empty, so no #empty_option
     );
+    if (module_exists('image')) {
+      $element['image_style'] = array(
+        '#title'   => t('Override image style'),
+        '#type'    => 'select',
+        '#options' => image_style_options(FALSE),
+        '#default_value' => $settings['image_style'],
+        '#empty_option' => t('- no change -'),
+        '#description' => t('If the view mode returns an image using a Drupal image style, then use this image syle instead. This setting is ignored for files not rendered using a Drupal image style.'),
+      );
+    }
   }
 
   return $element;
@@ -45,14 +55,17 @@ function file_entity_field_formatter_settings_form($field, $instance, $view_mode
 function file_entity_field_formatter_settings_summary($field, $instance, $view_mode) {
   $display = $instance['display'][$view_mode];
   $settings = $display['settings'];
-  $summary = NULL;
+  $summary = array();
 
   if ($display['type'] === 'file_rendered') {
     $view_mode_label = file_entity_view_mode_label($settings['file_view_mode'], t('Unknown'));
-    $summary = t('View mode: %mode', array('%mode' => $view_mode_label));
+    $summary[] = t('View mode: %mode', array('%mode' => $view_mode_label));
+    if ($settings['image_style']) {
+      $summary[] = t('Image style override: %style', array('%style' => $settings['image_style']));
+    }
   }
 
-  return $summary;
+  return implode('<br />', $summary);
 }
 
 /**
@@ -109,6 +122,11 @@ function file_entity_field_formatter_view($entity_type, $entity, $field, $instan
     foreach ($items as $delta => $item) {
       if (isset($files_built[$item['fid']])) {
         $element[$delta] = $files_built[$item['fid']];
+
+        // Apply the "Override image style" setting.
+        if (!empty($settings['image_style']) && !empty($element[$delta]['file']['#style_name']) && in_array($element[$delta]['file']['#style_name'], image_style_options(FALSE)) && in_array($settings['image_style'], image_style_options(FALSE))) {
+          $element[$delta]['file']['#style_name'] = $settings['image_style'];
+        }
       }
     }
   }
