diff --git a/logintoboggan.module b/logintoboggan.module
index 43e6176..c090ad7 100755
--- a/logintoboggan.module
+++ b/logintoboggan.module
@@ -937,7 +937,7 @@ function logintoboggan_validate_email($account, $timestamp, $hashed_pass, $actio
   // - the user is still in the pre-auth role or didn't set
   //   their own password.
   // - the hashed password is correct.
-  if (((variable_get('user_email_verification', TRUE) && empty($account->login)) || ($pre_auth && array_key_exists($validating_id, $account->roles))) && $hashed_pass == logintoboggan_eml_rehash($account->pass, $timestamp, $account->mail)) {
+  if (((variable_get('user_email_verification', TRUE) && empty($account->login)) || ($pre_auth && array_key_exists($validating_id, $account->roles))) && $hashed_pass == logintoboggan_eml_rehash($account->pass, $timestamp, $account->mail, $account->uid)) {
     watchdog('user', 'E-mail validation URL used for %name with timestamp @timestamp.', array('%name' => $account->name, '@timestamp' => $timestamp));
 
     _logintoboggan_process_validation($account);
@@ -1065,11 +1065,11 @@ function logintoboggan_process_login($account, $edit, $redirect = array()){
 
 function logintoboggan_eml_validate_url($account){
   $timestamp = time();
-  return url("user/validate/$account->uid/$timestamp/". logintoboggan_eml_rehash($account->pass, $timestamp, $account->mail), array('absolute' => TRUE));
+  return url("user/validate/$account->uid/$timestamp/". logintoboggan_eml_rehash($account->pass, $timestamp, $account->mail, $account->uid), array('absolute' => TRUE));
 }
 
-function logintoboggan_eml_rehash($password, $timestamp, $mail) {
-  return user_pass_rehash($password, $timestamp, $mail);
+function logintoboggan_eml_rehash($password, $timestamp, $mail, $uid) {
+  return user_pass_rehash($password, $timestamp, $mail, $uid);
 }
 
 /**
