diff --git a/includes/media.variables.inc b/includes/media.variables.inc
index 3a89055..a862e5e 100644
--- a/includes/media.variables.inc
+++ b/includes/media.variables.inc
@@ -149,6 +149,10 @@ function media_variable_default($name = NULL) {
       'icon_base_directory' => drupal_get_path('module', 'media') . '/images/icons',
       'icon_set' => 'default',
 
+      // 'Link', 'Small', 'Large' and 'Original' view modes should not be
+      // available on new installs.
+      'show_deprecatd_view_modes' => FALSE,
+
        // Deprecated variables.
       'show_file_type_rebuild_nag' => NULL,
     );
diff --git a/media.install b/media.install
index 9bd2e4b..ee75f66 100644
--- a/media.install
+++ b/media.install
@@ -62,13 +62,6 @@ function media_install() {
   // Create the defined types.
   foreach ($types as $name => $type) {
     media_type_save($type);
-
-    // @todo By default, we hide the file display in the 'small' view mode for
-    //   legacy reasons. Does it still make sense to do so? See
-    //   http://drupal.org/node/1051090.
-    $bundle_settings = field_bundle_settings('file', $name);
-    $bundle_settings['extra_fields']['display']['file']['media_small'] = array('weight' => 0, 'visible' => FALSE);
-    field_bundle_settings('file', $name, $bundle_settings);
   }
 }
 
@@ -627,3 +620,11 @@ function media_update_7200() {
     }
   }
 }
+
+/**
+ * 'Link', 'Small', 'Large' and 'Original' view modes are deprecated on new
+ * installs but we have to retain them for existing sites.
+ */
+function media_update_7201() {
+  variable_set('media__show_deprecatd_view_modes', 1);
+}
diff --git a/media.module b/media.module
index 48e788f..c69371b 100644
--- a/media.module
+++ b/media.module
@@ -57,11 +57,17 @@ function media_help($path, $arg) {
  * Add view modes to the file entity type, appropriate for displaying media.
  */
 function media_entity_info_alter(&$entity_info) {
-  $entity_info['file']['view modes']['media_link'] = array('label' => t('Link'), 'custom settings' => TRUE);
+  $entity_info['file']['view modes']['teaser'] = array('label' => t('Teaser'), 'custom settings' => TRUE);
   $entity_info['file']['view modes']['media_preview'] = array('label' => t('Preview'), 'custom settings' => TRUE);
-  $entity_info['file']['view modes']['media_small'] = array('label' => t('Small'), 'custom settings' => TRUE);
-  $entity_info['file']['view modes']['media_large'] = array('label' => t('Large'), 'custom settings' => TRUE);
-  $entity_info['file']['view modes']['media_original'] = array('label' => t('Original'), 'custom settings' => TRUE);
+
+  // These view modes are deprecated, so hide them on new installs.
+  // @see: http://drupal.org/node/1051090
+  if (media_variable_get('show_deprecatd_view_modes')) {
+    $entity_info['file']['view modes']['media_link'] = array('label' => t('Link (deprecater)'), 'custom settings' => TRUE);
+    $entity_info['file']['view modes']['media_small'] = array('label' => t('Small (deprecater)'), 'custom settings' => TRUE);
+    $entity_info['file']['view modes']['media_large'] = array('label' => t('Large (deprecater)'), 'custom settings' => TRUE);
+    $entity_info['file']['view modes']['media_original'] = array('label' => t('Original (deprecater)'), 'custom settings' => TRUE);
+  }
 }
 
 /**
