Index: modules/trigger/trigger.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/trigger/trigger.module,v
retrieving revision 1.13.2.1
diff -u -p -r1.13.2.1 trigger.module
--- modules/trigger/trigger.module	9 Apr 2008 21:11:51 -0000	1.13.2.1
+++ modules/trigger/trigger.module	3 Oct 2008 23:36:27 -0000
@@ -216,10 +216,10 @@ function trigger_nodeapi(&$node, $op, $a
   // Prevent recursion by tracking which operations have already been called.
   static $recursion;
   // Support a subset of operations.
-  if (!in_array($op, array('view', 'update', 'presave', 'insert', 'delete')) || isset($recursion[$op])) {
+  if (!in_array($op, array('view', 'update', 'presave', 'insert', 'delete')) || isset($recursion[$node->nid][$op])) {
     return;
   }
-  $recursion[$op] = TRUE;
+  $recursion[$node->nid][$op] = TRUE;
 
   $aids = _trigger_get_hook_aids('nodeapi', $op);
   if (!$aids) {
@@ -246,6 +246,8 @@ function trigger_nodeapi(&$node, $op, $a
       actions_do($aid, $node, $context, $a3, $a4);
     }
   }
+
+  unset($recursion[$node->nid][$op]);
 }
 
 /**
