diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index ce4501782872a04b4a4c6e50576be7b66c1d4e3c..4d4b4c4d976396ebc4eb88a9662c01b0b0c76533 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,6 +1,7 @@
 
 Drupal 7.40, xxxx-xx-xx (development version)
 -----------------------
+- Fixed non-functional "Files displayed by default" setting on file fields.
 - The "worker callback" provided in hook_cron_queue_info() and the "finished"
   callback specified during batch processing can now be any PHP callable
   instead of just functions.
diff --git a/modules/file/file.field.inc b/modules/file/file.field.inc
index 794f16e676d216d0d75e374641c6752c0773ee03..d592381bd56f7799bb37cbe852b196dae20ff503 100644
--- a/modules/file/file.field.inc
+++ b/modules/file/file.field.inc
@@ -632,7 +632,7 @@ function file_field_widget_process($element, &$form_state, $form) {
   $element['#theme'] = 'file_widget';
 
   // Add the display field if enabled.
-  if (!empty($field['settings']['display_field']) && $item['fid']) {
+  if (!empty($field['settings']['display_field'])) {
     $element['display'] = array(
       '#type' => empty($item['fid']) ? 'hidden' : 'checkbox',
       '#title' => t('Include file in display'),
diff --git a/modules/file/tests/file.test b/modules/file/tests/file.test
index 5c19d001fab0817ae316ff33f907fcfce7b6420e..80433954b6bbdf30967010d074ec370e91c6ac48 100644
--- a/modules/file/tests/file.test
+++ b/modules/file/tests/file.test
@@ -951,6 +951,34 @@ class FileFieldDisplayTestCase extends FileFieldTestCase {
     $this->assertRaw($field_name . '[' . LANGUAGE_NONE . '][0][display]', 'First file appears as expected.');
     $this->assertRaw($field_name . '[' . LANGUAGE_NONE . '][1][display]', 'Second file appears as expected.');
   }
+
+  /**
+   * Tests default display of File Field.
+   */
+  function testDefaultFileFieldDisplay() {
+    $field_name = strtolower($this->randomName());
+    $type_name = 'article';
+    $field_settings = array(
+      'display_field' => '1',
+      'display_default' => '0',
+    );
+    $instance_settings = array(
+      'description_field' => '1',
+    );
+    $widget_settings = array();
+    $this->createFileField($field_name, $type_name, $field_settings, $instance_settings, $widget_settings);
+    $field = field_info_field($field_name);
+    $instance = field_info_instance('node', $field_name, $type_name);
+
+    $test_file = $this->getTestFile('text');
+
+    // Create a new node with the uploaded file.
+    $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
+
+    $this->drupalGet('node/' . $nid . '/edit');
+    $this->assertFieldByXPath('//input[@type="checkbox" and @name="' . $field_name . '[und][0][display]"]', NULL, 'Default file display checkbox field exists.');
+    $this->assertFieldByXPath('//input[@type="checkbox" and @name="' . $field_name . '[und][0][display]" and not(@checked)]', NULL, 'Default file display is off.');
+  }
 }
 
 /**