diff --git modules/trigger/trigger.module modules/trigger/trigger.module
index 86912b1..81e2c61 100644
--- modules/trigger/trigger.module
+++ modules/trigger/trigger.module
@@ -210,15 +210,17 @@ function _trigger_node($node, $op, $a3 = NULL, $a4 = NULL) {
   static $objects;
   // Prevent recursion by tracking which operations have already been called.
   static $recursion;
-  if (isset($recursion[$op])) {
-    return;
-  }
-  $recursion[$op] = TRUE;
 
   $aids = _trigger_get_hook_aids('node', $op);
   if (!$aids) {
     return;
   }
+
+  if (isset($recursion[$op])) {
+    return;
+  }
+  $recursion[$op] = TRUE;
+
   $context = array(
     'hook' => 'node',
     'op' => $op,
@@ -240,6 +242,8 @@ function _trigger_node($node, $op, $a3 = NULL, $a4 = NULL) {
       actions_do($aid, $node, $context, $a3, $a4);
     }
   }
+
+  unset($recursion[$op]);
 }
 
 /**
