diff --git a/file_entity.admin.inc b/file_entity.admin.inc
index 41c7c93..b5de131 100644
--- a/file_entity.admin.inc
+++ b/file_entity.admin.inc
@@ -1119,6 +1119,19 @@ function file_entity_settings_form($form, &$form_state) {
     '#default_value' => variable_get('file_entity_file_upload_wizard_skip_fields', FALSE),
     '#description' => t('The field selection step is only available if the file type the file belongs to has any available fields. If this step is skipped, any fields on the file will be left blank.'),
   );
+  $form['file_replace_options'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('File replace optons'),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+    '#description' => t('Default settings for how to handle file name changes during replace.'),
+  );
+  $form['file_replace_options']['file_entity_file_replace_options_keep_original_filename'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Keep original file name'),
+    '#default_value' => variable_get('file_entity_file_replace_options_keep_original_filename', FALSE),
+    '#description' => t('Rename the newly uploaded file to the name of the original file. This action cannot be undone.'),
+  );
 
   return system_settings_form($form);
 }
diff --git a/file_entity.pages.inc b/file_entity.pages.inc
index 17688fe..a4e184e 100644
--- a/file_entity.pages.inc
+++ b/file_entity.pages.inc
@@ -649,6 +649,12 @@ function file_entity_edit($form, &$form_state, $file) {
       '#upload_validators' => file_entity_get_upload_validators($replacement_options),
       '#pre_render' => array('file_entity_upload_validators_pre_render'),
     );
+    $form['replace_keep_original_filename'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Keep original filename'),
+      '#default_value' => variable_get('file_entity_file_replace_options_keep_original_filename', FALSE),
+      '#description' => t('Rename the newly uploaded file to the name of the original file. This action cannot be undone.'),
+    );
   }
 
   $form['preview'] = file_view_file($file, 'preview');
@@ -800,7 +806,12 @@ function file_entity_edit_submit($form, &$form_state) {
   if (!empty($form_state['values']['replace_upload'])) {
     $replacement = $form_state['values']['replace_upload'];
     // Move file from temp to permanent home.
-    $destination_uri = rtrim($file->uri, drupal_basename($file->uri)) . drupal_basename($replacement->uri);
+    if ($form_state['values']['replace_keep_original_filename']) {
+      $destination_uri = rtrim($file->uri, drupal_basename($file->uri)) . drupal_basename($file->uri);
+    }
+    else {
+      $destination_uri = rtrim($file->uri, drupal_basename($file->uri)) . drupal_basename($replacement->uri);
+    }
     $replace_mode = $destination_uri == $file->uri ? FILE_EXISTS_REPLACE : FILE_EXISTS_RENAME;
     if ($new_file_uri = file_unmanaged_copy($replacement->uri, $destination_uri, $replace_mode)) {
       // @todo Add watchdog() about replaced file here?
