Index: modules/trigger/trigger.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/trigger/trigger.module,v
retrieving revision 1.31
diff -u -p -r1.31 trigger.module
--- modules/trigger/trigger.module	20 Mar 2009 19:14:51 -0000	1.31
+++ modules/trigger/trigger.module	19 Apr 2009 22:29:04 -0000
@@ -209,13 +209,14 @@ function _trigger_node($node, $op, $a3 =
   static $objects;
   // Prevent recursion by tracking which operations have already been called.
   static $recursion;
-  if (isset($recursion[$op])) {
+  if (isset($recursion[$node->nid][$op])) {
     return;
   }
-  $recursion[$op] = TRUE;
+  $recursion[$node->nid][$op] = TRUE;
 
   $aids = _trigger_get_hook_aids('node', $op);
   if (!$aids) {
+    unset($recursion[$node->nid][$op]);
     return;
   }
   $context = array(
@@ -239,6 +240,8 @@ function _trigger_node($node, $op, $a3 =
       actions_do($aid, $node, $context, $a3, $a4);
     }
   }
+
+  unset($recursion[$node->nid][$op]);
 }
 
 /**
