diff --git a/file_entity.file.inc b/file_entity.file.inc
index 3b76626..f00556a 100644
--- a/file_entity.file.inc
+++ b/file_entity.file.inc
@@ -15,7 +15,9 @@ function file_entity_file_presave($file) {
   }
 
   // Always update file type based on filemime.
-  $file->type = file_get_type($file);
+  if (empty($file->type)) {
+    $file->type = file_get_type($file);
+  }
 
   field_attach_presave('file', $file);
 }
