diff --git media.admin.inc media.admin.inc
index 1582b1a..4a72960 100644
--- media.admin.inc
+++ media.admin.inc
@@ -434,8 +434,23 @@ function media_admin_type_manage_form_submit($form, &$form_state) {
       $media_type->type_callback_args['streams'][] = $stream;
     }
   }
-  $media_type->type_callback_args['mimetypes'] = explode(' ', $form_state['values']['mimetypes']);
-  $media_type->type_callback_args['extensions'] = explode(' ', $form_state['values']['extensions']);
+  // process mime types input
+  $mimetypes = preg_split('@\s+@', $form_state['values']['mimetypes']);
+  foreach ($mimetypes as $k => $mimetype) {
+    $mimetypes[$k] = trim($mimetype);
+  }
+  $mimetypes = array_filter($mimetypes);
+
+  // process extensions input
+  $extensions = preg_split('@\s+@', $form_state['values']['extensions']);
+  foreach ($extensions as $k => $extension) {
+    $extensions[$k] = trim($extension);
+  }
+  $extensions = array_filter($extensions);
+
+  // update media type
+  $media_type->type_callback_args['mimetypes'] = $mimetypes;
+  $media_type->type_callback_args['extensions'] = $extensions;
 
   media_type_save($media_type);
   drupal_set_message(t('The @label media type has been saved.', array('@label' => $media_type->label)));
