diff --git a/mupload.module b/mupload.module
index 324722c..2717475 100644
--- a/mupload.module
+++ b/mupload.module
@@ -184,7 +184,7 @@ function mupload_field_widget_value($element, $input = FALSE, &$form_state) {
   // We depend on the plupload file element to handle uploads.
   $return = mupload_managed_file_value($element, $input, $form_state);
 
-  $language = $form_state['values']['language'];
+  $language = $element['#language'];
 
   if (isset($return['#files'])) {
     unset($return['#files']);
@@ -198,7 +198,7 @@ function mupload_field_widget_value($element, $input = FALSE, &$form_state) {
       $form_state['values'][$element['#field_name']][$language][$last_parent] = (array)$value;
       $last_parent++;
     }
-    return (array)$value;
+    return (array)$return;
   }
   else {
     foreach($return as $key => &$value) {
