Index: rules.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/rules/Attic/rules.module,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 rules.module
--- rules.module	13 Jan 2011 18:06:57 -0000	1.1.2.10
+++ rules.module	17 Jan 2011 21:16:01 -0000
@@ -909,9 +909,11 @@ function rules_get_title($text, $element
  */
 function rules_page_build(&$page) {
   // Invoke a the page redirect, in case the action has been executed.
-  if (isset($GLOBALS['_rules_action_drupal_goto_do'])) {
+  if (isset($_SESSION['_rules_action_drupal_goto_do'])) {
     // $_REQUEST['destination'] has been set, drupal_goto() will use that.
-    drupal_goto($GLOBALS['_rules_action_drupal_goto_do']);
+    $url = $_SESSION['_rules_action_drupal_goto_do'];
+    unset($_SESSION['_rules_action_drupal_goto_do']);
+    drupal_goto($url);
   }
 
   if (isset($_SESSION['rules_debug'])) {
Index: modules/system.eval.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/rules/modules/Attic/system.eval.inc,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 system.eval.inc
--- modules/system.eval.inc	16 Dec 2010 09:30:43 -0000	1.1.2.1
+++ modules/system.eval.inc	17 Jan 2011 21:16:01 -0000
@@ -35,7 +35,7 @@ function rules_action_drupal_goto($url, 
   // This makes sure invoke rules_page_build() invokes drupal_goto() before
   // the page is output. We don't invoke it right now, as this would end the
   // the current page execution unpredictly for modules.
-  $GLOBALS['_rules_action_drupal_goto_do'] = $url;
+  $_SESSION['_rules_action_drupal_goto_do'] = $url;
 }
 
 /**
