diff --git modules/user/user.pages.inc modules/user/user.pages.inc
index 7c33cd0..bf28b85 100644
--- modules/user/user.pages.inc
+++ modules/user/user.pages.inc
@@ -78,9 +78,14 @@ function user_pass_submit($form, &$form_state) {
 function user_pass_reset(&$form_state, $uid, $timestamp, $hashed_pass, $action = NULL) {
   global $user;
 
-  // Check if the user is already logged in. The back button is often the culprit here.
-  if ($user->uid) {
-    drupal_set_message(t('You have already used this one-time login link. It is not necessary to use this link to login anymore. You are already logged in.'));
+  // See if the user is aleady logged in with this uid.
+  if ($user->uid && $user->uid == $uid) {
+    drupal_set_message(t("You are logged in as %user. <a href='!link'>Change your password.</a>",array('%user'=>$user->name, '!link' => url("user/{$user->uid}/edit"))));
+    drupal_goto();
+  }
+  // Or if somebody else is logged in.
+  else if ($user->uid && $user->uid != $uid) {
+    drupal_set_message(t("Someone else is already logged into the site on this computer. Please <a href='!link'>logout</a> and try using the link again.",array('!link'=>url('logout'))));
     drupal_goto();
   }
   else {
