diff --git token.rules.inc token.rules.inc
index 536be03..ea8ed3a 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;
 }
 
@@ -55,13 +58,15 @@ function token_rules_input_evaluator_apply($text, $used_vars, &$state) {
 
   if ($used_vars) {
     $vars = rules_get_variables(drupal_map_assoc($used_vars), $state);
-    if (!$vars) {
-      //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']);
+      if ($name != ':global') {
+        $type = _token_rules_map_type($state['variables'][$name]->info['type']);
+      }
+      else {
+        $type = 'global';
+      }
       if ($type) {
         $token_id = _token_get_id($type, $vars[$name]);
         if (isset($token_cache[$token_id]) && $token_cache[$token_id] != $name) {
@@ -96,6 +101,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) {
