Index: media.filter.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/media.filter.inc,v
retrieving revision 1.13
diff -u -p -r1.13 media.filter.inc
--- media.filter.inc	28 Oct 2010 14:54:23 -0000	1.13
+++ media.filter.inc	24 Nov 2010 02:52:15 -0000
@@ -259,7 +259,7 @@ function media_format_form($form, $form_
   drupal_alter('media_wysiwyg_allowed_view_modes', $media_type, $view_modes);
 
   foreach ($view_modes as $key => $title) {
-    $format = $instance_info['display'][$key];
+    $format = field_get_display($instance_info, $key, $media);
     //If the format is set to hidden, don't offer it
     if ($format['type'] == 'hidden') {
       continue;
@@ -352,7 +352,7 @@ function media_format_form($form, $form_
  */
 function media_get_file_without_label($media, $view_mode, $settings = array()) {
   $instance = field_info_instance('media', 'file', $media->type);
-  $format = $instance['display'][$view_mode];
+  $format = field_get_display($instance, $view_mode, $media);
   $format['label'] = 'hidden';
   $format['settings'] = array_merge($format['settings'], $settings);
   $media->override = $settings;
Index: media.types.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/media/media.types.inc,v
retrieving revision 1.15
diff -u -p -r1.15 media.types.inc
--- media.types.inc	19 Nov 2010 15:11:11 -0000	1.15
+++ media.types.inc	24 Nov 2010 02:52:15 -0000
@@ -72,11 +72,12 @@ function media_type_configure_formatters
   if (!$instance) {
     throw new Exception('Unable to set formatter preferences for '. $name);
   }
-  foreach ($instance['display'] as $view_mode => $display) {
-    if (isset($view_modes_to_formatters[$view_mode])) {
-      $bundle_settings['view_modes'][$view_mode]['custom_settings'] = 1;
-      $instance['display'][$view_mode]['type'] = $view_modes_to_formatters[$view_mode];
+  foreach ($view_modes_to_formatters as $view_mode => $formatter) {
+    $bundle_settings['view_modes'][$view_mode]['custom_settings'] = 1;
+    if (!isset($instance['display'][$view_mode])) {
+      $instance['display'][$view_mode] = $instance['display']['default'];
     }
+    $instance['display'][$view_mode]['type'] = $formatter;
   }
   field_bundle_settings('media', $name, $bundle_settings);
   field_update_instance($instance);
