--- views_bookmark.original	2007-10-06 11:53:30.000000000 -0700
+++ views_bookmark.module	2007-10-06 11:27:21.000000000 -0700
@@ -357,7 +357,43 @@ function views_bookmark_page($how = 'mar
   
   drupal_goto(referer_uri());
 }
-
+// ---------------------------------------------------------------------------
+// Bookmark updates on node, user and content type deletion
+
+/**
+ * Implementation of hook_nodeapi
+ */
+function views_bookmark_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
+  switch ($op) {
+    case 'delete':
+      // remove bookmarks and bookmark counts
+      db_query("DELETE FROM {views_bookmark_nodes} WHERE nid = %d", $node->nid);
+      db_query("DELETE FROM {views_bookmark_node_count} WHERE nid = %d", $node->nid);
+      break;
+  }
+}
+
+/**
+ * Implementation of hook_user
+ */
+function views_bookmark_user($op, &$edit, &$account, $category = NULL) {
+  switch ($op) {
+    case 'delete':
+      // remove bookmarks
+      db_query("DELETE FROM {views_bookmark_nodes} WHERE uid = %d", $account->uid);
+  }
+}
+
+/**
+ * Implementation of hook_node_type
+ */
+function views_bookmark_node_type($op, $info) {
+  switch ($op) {
+    case 'delete':
+      // remove entry from bookmarkable content types
+      db_query("DELETE FROM {views_bookmark_nodetypes} WHERE type = '%s'", $info->type);
+  }
+}
 
 // ---------------------------------------------------------------------------
 // Views hooks
