--- ../../token/token.module	2009-06-01 10:15:32.000000000 -0600
+++ ./token.module	2009-09-26 14:46:00.000000000 -0600
@@ -305,6 +305,18 @@ function token_get_values($type = 'globa
 
   $all = array_merge($tokens['global']['default'], $tokens[$type][$id]);
 
+  foreach($all as $key => $value) {
+    static $warnings;
+    // Token name collisions results in an array being returned. Return the last
+    // element instead of an array, which is just a #fail
+    if (is_array($value)) {
+      $all[$key] = array_pop($value);
+      if (empty($warnings[$key])) {
+        watchdog('token','More than one module has defined the same token, %key. ', array('%key' => $key), WATCHDOG_WARNING);
+        $warnings[$key] = TRUE;
+      }
+    }
+  }
   $result = new stdClass();
   $result->tokens = array_keys($all);
   $result->values = array_values($all);
