diff --git token.rules.inc token.rules.inc
index 536be03..3331338 100644
--- token.rules.inc
+++ token.rules.inc
@@ -37,6 +37,9 @@ function token_rules_input_evaluator_prepare($string, $variables) {
       $used_vars[] = $name;
     }
   }
+  // Using ':global' instead of 'global' to avoid potential namespace conflicts
+  // See http://drupal.org/node/932460#comment-3884866
+  $used_vars[] = ':global';
   return $used_vars ? $used_vars : NULL;
 }
 
@@ -54,14 +57,15 @@ function token_rules_input_evaluator_apply($text, $used_vars, &$state) {
   static $token_cache = array();
 
   if ($used_vars) {
-    $vars = rules_get_variables(drupal_map_assoc($used_vars), $state);
-    if (!$vars) {
+    $vars = rules_get_variables(drupal_map_assoc(array_diff($used_vars, array(':global'))), $state);
+    if ($vars === FALSE) {
       //there not all needed variables available!
       return FALSE;
     }
+    $vars[':global'] = ':global';
 
     foreach ($used_vars as $name) {
-      $type = _token_rules_map_type($state['variables'][$name]->info['type']);
+      $type = ($name == ':global') ? 'global' : _token_rules_map_type($state['variables'][$name]->info['type']);
       if ($type) {
         $token_id = _token_get_id($type, $vars[$name]);
         if (isset($token_cache[$token_id]) && $token_cache[$token_id] != $name) {
@@ -96,6 +100,8 @@ function _token_rules_map_type($type) {
  */
 function token_rules_input_evaluator_help($variables) {
 
+  $variables[':global'] = array('type' => 'global', 'label' => t('global token'),);
+
   foreach ($variables as $name => $info) {
     $type = _token_rules_map_type($info['type']);
     if ($type) {
