--- user.module	2009-05-15 12:07:35.000000000 +1200
+++ user.module.new	2009-05-15 12:03:21.000000000 +1200
@@ -1622,7 +1622,11 @@ function user_build_content(&$account) {
  */
 function user_mail($key, &$message, $params) {
   $language = $message['language'];
-  $variables = user_mail_tokens($params['account'], $language);
+  $variables = array();
+  foreach (module_implements('mail_tokens') as $module) {
+    $function = $module . '_mail_tokens';
+    $variables = array_merge($variables, $function($params['account'], $language));
+  }
   $message['subject'] .= _user_mail_text($key .'_subject', $language, $variables);
   $message['body'][] = _user_mail_text($key .'_body', $language, $variables);
 }
