diff --git a/modules/user/user.module b/modules/user/user.module
index 0dea21e..357435f 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -426,8 +426,7 @@ function user_validate_name($name) {
 }
 
 function user_validate_mail($mail) {
-  if (!$mail) return t('You must enter an e-mail address.');
-  if (!valid_email_address($mail)) {
+  if ($mail && !valid_email_address($mail)) {
     return t('The e-mail address %mail is not valid.', array('%mail' => $mail));
   }
 }
@@ -1629,7 +1628,7 @@ function _user_edit_validate($uid, &$edit) {
   if ($error = user_validate_mail($edit['mail'])) {
     form_set_error('mail', $error);
   }
-  else if (db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(mail) = LOWER('%s')", $uid, $edit['mail'])) > 0) {
+  else if ($edit['mail'] && db_result(db_query("SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(mail) = LOWER('%s')", $uid, $edit['mail'])) > 0) {
     form_set_error('mail', t('The e-mail address %email is already registered. <a href="@password">Have you forgotten your password?</a>', array('%email' => $edit['mail'], '@password' => url('user/password'))));
   }
   else if (drupal_is_denied('mail', $edit['mail'])) {
