Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1082
diff -u -r1.1082 node.module
--- modules/node/node.module	10 Jul 2009 05:58:13 -0000	1.1082
+++ modules/node/node.module	15 Jul 2009 23:22:57 -0000
@@ -1067,6 +1067,7 @@
     // Call the node-specific callback (if any):
     node_invoke($node, 'delete');
     module_invoke_all('node_delete', $node);
+    field_attach_delete('node', $node);
 
     // Remove this node from the search index if needed.
     // This code is implemented in node module rather than in search module,
Index: modules/node/node.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.pages.inc,v
retrieving revision 1.70
diff -u -r1.70 node.pages.inc
--- modules/node/node.pages.inc	22 Jun 2009 09:10:05 -0000	1.70
+++ modules/node/node.pages.inc	15 Jul 2009 23:22:58 -0000
@@ -551,6 +551,7 @@
     ->condition('vid', $node_revision->vid)
     ->execute();
   module_invoke_all('node_delete_revision', $node_revision);
+  field_attach_delete_revision('node', $node_revision);
   watchdog('content', '@type: deleted %title revision %revision.', array('@type' => $node_revision->type, '%title' => $node_revision->title, '%revision' => $node_revision->vid));
   drupal_set_message(t('Revision from %revision-date of @type %title has been deleted.', array('%revision-date' => format_date($node_revision->revision_timestamp), '@type' => node_type_get_name($node_revision), '%title' => $node_revision->title)));
   $form_state['redirect'] = 'node/' . $node_revision->nid;
