Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1001
diff -u -F^f -r1.1001 node.module
--- modules/node/node.module	5 Dec 2008 22:18:45 -0000	1.1001
+++ modules/node/node.module	7 Dec 2008 04:44:03 -0000
@@ -1107,13 +1107,6 @@ function node_delete($nid) {
     // Clear the page and block caches.
     cache_clear_all();
 
-    // Remove this node from the search index if needed.
-    // This code is implemented in node module rather than in search module,
-    // because node module is implementing search module's API, not the other
-    // way around.
-    if (module_exists('search')) {
-      search_wipe($node->nid, 'node');
-    }
     watchdog('content', '@type: deleted %title.', array('@type' => $node->type, '%title' => $node->title));
     drupal_set_message(t('@type %title has been deleted.', array('@type' => node_get_types('name', $node), '%title' => $node->title)));
   }
Index: modules/search/search.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.module,v
retrieving revision 1.277
diff -u -F^f -r1.277 search.module
--- modules/search/search.module	3 Dec 2008 16:32:22 -0000	1.277
+++ modules/search/search.module	7 Dec 2008 04:44:03 -0000
@@ -658,6 +658,13 @@ function search_nodeapi_update(&$node, $
 }
 
 /**
+ * Implementation of hook_nodeapi_delete().
+ */
+function search_nodeapi_delete($node, $arg = 0) {
+  search_wipe($node->nid, 'node');
+}
+
+/**
  * Implementation of hook_comment().
  */
 function search_comment($a1, $op) {
