diff --git a/includes/media.filter.inc b/includes/media.filter.inc
index 1e93742..e459c96 100644
--- a/includes/media.filter.inc
+++ b/includes/media.filter.inc
@@ -162,6 +162,7 @@ function media_token_to_markup($match, $wysiwyg = FALSE) {
 
   if ($wysiwyg) {
     $settings['wysiwyg'] = $wysiwyg;
+    $tag_info['view_mode'] = 'preview';
     // If sending markup to a WYSIWYG, we need to pass the file infomation so
     // that a inline macro can be generated when the WYSIWYG is detached.
     // The WYSIWYG plugin is expecting this information in the format of a
@@ -318,8 +319,14 @@ function media_format_form($form, $form_state, $file) {
   foreach ($view_modes as $view_mode => $view_mode_info) {
     //@TODO: Display more verbose information about which formatter and what it does.
     $options[$view_mode] = $view_mode_info['label'];
-    $element = media_get_file_without_label($file, $view_mode, array('wysiwyg' => TRUE));
-
+    if ($file->type == 'image') {
+      $get_file_view_mode = $view_mode;
+    }
+    else {
+      $get_file_view_mode = 'preview';
+    }
+    $element = media_get_file_without_label($file, $get_file_view_mode, array('wysiwyg' => TRUE));
+    
     // Make a pretty name out of this.
     $formats[$view_mode] = drupal_render($element);
   }
