diff --git a/resources/file_resource.inc b/resources/file_resource.inc
index af2c967..aad8b65 100644
--- a/resources/file_resource.inc
+++ b/resources/file_resource.inc
@@ -178,8 +178,14 @@ function _file_resource_create($file) {
     return services_error(t("Could not write file to destination"), 500);
   }
 
-  // Required to be able to reference this file.
-  file_usage_add($file_saved, 'services', 'files', $file_saved->fid);
+  if (isset($file['status']) && $file['status'] == 0) {
+    // Save as temporary file. See http://drupal.org/node/1490552
+    $file_saved->status = 0;
+    file_save($file_saved);
+  } else {
+    // Required to be able to reference this file.
+    file_usage_add($file_saved, 'services', 'files', $file_saved->fid);
+  }
 
   return array(
     'fid' => $file_saved->fid,
