Index: filefield.module =================================================================== --- filefield.module (revision 40929) +++ filefield.module (working copy) @@ -1087,6 +1087,7 @@ * Optional. The CCK field array or field name as a string. */ function filefield_delete_file_references($file, $field = NULL) { + global $user; $fields = filefield_get_field_list(NULL, $field); $file = (object) $file; @@ -1105,6 +1106,7 @@ } $node = node_load($nid, $vid); + $current = node_load($nid); foreach ($fields as $field_name => $field) { if (isset($node->$field_name)) { foreach ($node->$field_name as $delta => $item) { @@ -1119,7 +1121,12 @@ // Save the node after removing the file references. This flag prevents // FileField from attempting to delete the file again. $node->skip_filefield_delete = TRUE; - node_save($node); + if ($current->vid == $node->vid) { + node_save($node); + } + else { + _node_save_revision($node, $user->uid, array('nid', 'vid')); + } } } }