diff --git a/includes/media.fields.inc b/includes/media.fields.inc
index 0820fc1..45896a8 100644
--- a/includes/media.fields.inc
+++ b/includes/media.fields.inc
@@ -183,7 +183,7 @@ function media_field_widget_value($element, $input = FALSE, $form_state) {
     // If the display field is present make sure its unchecked value is saved.
     $field = field_widget_field($element, $form_state);
     if (empty($input['display'])) {
-      $input['display'] = intval(!empty($field['settings']['display_field']));
+      $input['display'] = $field['settings']['display_field'] ? 0 : 1;
     }
   }
 
@@ -222,6 +222,7 @@ function media_field_widget_process($element, &$form_state, $form) {
       '#title' => t('Include file in display'),
       '#value' => isset($item['display']) ? $item['display'] : $field['settings']['display_default'],
       '#attributes' => array('class' => array('file-display')),
+      '#value_callback' => 'media_field_widget_value',
     );
   }
   else {
