diff --git a/includes/registration.forms.inc b/includes/registration.forms.inc
index 68e3b63..ba4e56a 100644
--- a/includes/registration.forms.inc
+++ b/includes/registration.forms.inc
@@ -157,8 +157,16 @@ function registration_form_validate($form, &$form_state) {
   // validate according to who's registering
   switch ($form_state['values']['who_is_registering'] ) {
     case 'anon':
-      if (!valid_email_address($form_state['values']['anon_mail'])) {
-        form_set_error('anon_mail', t('The email address is invalid.'));
+      global $user;
+      if ($user->uid) {
+        if (!empty($form_state['values']['anon_mail'])) {
+          form_set_error('anon_mail', t('The email address is invalid.'));
+        }
+      }
+      else {
+        if (!valid_email_address($form_state['values']['anon_mail'])) {
+          form_set_error('anon_mail', t('The email address is invalid.'));
+        }
       }
       if (registration_is_registered($registration, $form_state['values']['anon_mail'])) {
     			form_set_error('anon_mail', t('%mail is already registered for this event.',
