Index: modules/node/node.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.pages.inc,v
retrieving revision 1.76
diff -u -p -r1.76 node.pages.inc
--- modules/node/node.pages.inc	22 Aug 2009 00:58:54 -0000	1.76
+++ modules/node/node.pages.inc	23 Aug 2009 14:23:45 -0000
@@ -286,11 +286,33 @@ function node_form(&$form_state, $node) 
 
   $form['#builder_function'] = 'node_form_submit_build_node';
   field_attach_form('node', $node, $form, $form_state, $node->language);
+$form['#after_build'][] = 'node_form_after_build';
+  return $form;
+}
 
+/**
+ * After build function for node_form(). Sets the elements as "validated" when the
+ * "Delete" button is pressed.
+ */
+function node_form_after_build($form, $form_state) {
+  if (isset($form_state['values']['op']) && isset($form_state['values']['delete']) && $form_state['values']['op'] == $form_state['values']['delete']) {
+    _node_form_set_validated($form);
+  }
   return $form;
 }
 
 /**
+ * Set elements as "validated"
+ */
+function _node_form_set_validated(&$elements) {
+  foreach (element_children($elements) as $key) {
+    $elements[$key]['#validated'] = TRUE;
+    _node_form_set_validated($elements[$key]);
+  }
+}
+
+
+/**
  * Button submit function: handle the 'Delete' button on the node form.
  */
 function node_form_delete_submit($form, &$form_state) {
