diff --git field_file.inc field_file.inc
index 381522a..f27b50f 100644
--- field_file.inc
+++ field_file.inc
@@ -203,7 +203,7 @@ function field_file_save_file($filepath, $validators = array(), $dest = FALSE, $
  *    File to be inserted, passed by reference since fid should be attached.
  * @return array
  */
-function field_file_save($node, &$file) {
+function field_file_save($node, &$file, $field) {
   // If this item is marked for deletion.
   if (!empty($file['delete']) || !empty($file['_remove'])) {
     // If we're creating a new revision, return an empty array so CCK will
@@ -228,7 +228,7 @@ function field_file_save($node, &$file) {
   // Let modules update their additional file properties too.
   foreach (module_implements('file_update') as $module) {
     $function =  $module .'_file_update';
-    $function($file);
+    $function($file, $node, $field);
   }
   _field_file_cache($file); // update the cache, in case the file has changed
 
diff --git filefield_field.inc filefield_field.inc
index 9e152d9..0f445d7 100644
--- filefield_field.inc
+++ filefield_field.inc
@@ -169,7 +169,7 @@ function filefield_field_update($node, $field, &$items, $teaser, $page) {
   // for deleting replaced files.
   $curfids = array();
   foreach ($items as $delta => $item) {
-    $items[$delta] = field_file_save($node, $item);
+    $items[$delta] = field_file_save($node, $item, $field);
     // Remove items from the array if they have been deleted.
     if (empty($items[$delta]) || empty($items[$delta]['fid'])) {
       $items[$delta] = NULL;
