diff --git a/plupload.module b/plupload.module
index 9ea45de..6a6cc99 100644
--- a/plupload.module
+++ b/plupload.module
@@ -198,6 +198,11 @@ function plupload_element_value(&$element, $input = FALSE, $form_state = NULL) {
       $files[$i][$key] = $value;
     }
   }
+
+  // Create destination directory if it doesn't exist.
+  if (empty($files) && isset($element['#upload_location'])) {
+    file_prepare_directory($element['#upload_location'], FILE_CREATE_DIRECTORY);
+  }
   return $files;
 }
 
