--- node.module.orig	2008-06-08 19:32:42.000000000 -0500
+++ node.module		2008-06-08 19:41:56.000000000 -0500
@@ -1316,6 +1316,7 @@
 function node_operations_publish($nodes) {
   $placeholders = implode(',', array_fill(0, count($nodes), '%d'));
   db_query('UPDATE {node} SET status = 1 WHERE nid IN('. $placeholders .')', $nodes);
+ cache_clear_all('*', 'cache_menu', TRUE);
 }
 
 /**
@@ -1324,6 +1325,7 @@
 function node_operations_unpublish($nodes) {
   $placeholders = implode(',', array_fill(0, count($nodes), '%d'));
   db_query('UPDATE {node} SET status = 0 WHERE nid IN('. $placeholders .')', $nodes);
+ cache_clear_all('*', 'cache_menu', TRUE);
 }
 
 /**
