diff --git a/media.install b/media.install
index 46bf55f..9038df7 100644
--- a/media.install
+++ b/media.install
@@ -788,6 +788,43 @@ function media_update_7207() {
 }
 
 /**
+ * Drop the media_types table and migrate all files to the new file_entity types.
+ */
+function media_update_7208() {
+  // @see http://drupal.org/node/1292382
+  if (!function_exists('file_type_get_enabled_types')) {
+    throw new DrupalUpdateException('The File Entity module needs to be upgraded before continuing.');
+  }
+  else {
+    $query = db_select('file_managed', 'f')
+      ->fields('f', array('fid', 'type', 'filemime', 'uri'));
+    $files = $query->execute()->fetchAllAssoc('fid');
+
+    $enabled_types = file_type_get_enabled_types();
+
+    foreach ($files as $fid => $file) {
+      if (empty($file->filemime)) {
+        $file->filemime = file_get_mimetype($file->uri);
+      }
+
+      foreach ($enabled_types as $type) {
+        if (in_array($file->filemime, $type->mimetypes)) {
+          $file->newtype = $type->type;
+          continue;
+        }
+      }
+      if (!empty($file->newtype)) {
+        db_update('file_managed')
+          ->fields(array('type' => $file->newtype))
+          ->condition('fid', $file->fid)
+          ->execute();
+      }
+    }
+    db_drop_table('media_type');
+  }
+}
+
+/**
  * Helper function for media_update_7204() to update display options within Views.
  */
 function _media_update_7204_update_views_display_options(&$display_options, $view_mode_updates) {
