diff --git media.fields.inc media.fields.inc
index 1fb64c8..8c85aef 100644
--- media.fields.inc
+++ media.fields.inc
@@ -238,9 +238,7 @@ function media_field_widget_settings_form($field, $instance) {
   return $form;
 }
 
-function media_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $base) {
-  $element = $base;
-
+function media_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
   $widget_settings = $instance['widget']['settings'];
 
   $defaults = array(
@@ -255,17 +253,10 @@ function media_field_widget_form(&$form, &$form_state, $field, $instance, $langc
     return;
   }
 
-  $current_value = array();
-  // Obviously doesn't belong here, but in some lower level implementation.
-  if (isset($items[$delta])) {
-    $current_value = $items[$delta];
-    $current_value['data'] = unserialize($current_value['data']);
-  }
-
   $element += array(
     '#type' => 'media', // Would like to make this a fieldset, but throws some weird warning about element_children... not sure what it is about yet.
     '#collapsed' => TRUE,
-    '#default_value' => $current_value,
+    '#default_value' => isset($items[$delta]) ? $items[$delta] : $defaults,
     '#required' => $instance['required'],
     //'#media_file_extensions' => $instance['settings']['file_extensions'],
     // @TODO: Not implemented yet.

