diff --git a/uc_signup.module b/uc_signup.module
index b272f3d..c2ec6a7 100644
--- a/uc_signup.module
+++ b/uc_signup.module
@@ -226,7 +226,7 @@ function uc_signup_attendees_form_emails(&$form_state, $events) {
       // uc_signup attendee emails form.
       if ((empty($default) || uc_signup_invalid_mail($default)) && $num == 0) {
         $account = $user;
-        if (!empty($account->uid) && !uc_signup_user_is_signed_up($account->mail, $event['nid'])) {
+        if (user_is_logged_in() && (!uc_signup_user_is_signed_up($account->mail, $event['nid']) || !$allow_multiple)) {
           $default = $account->mail;
         }
       }
@@ -348,6 +348,9 @@ function uc_signup_attendees_form_profiles(&$form_state, $events = array()) {
       $nodes[$nid] = node_load($nid);
     }
     foreach ($attendees as $key => $mail) {
+      if (user_is_logged_in() && !user_access('purchase signups for other users')) {
+        $mail = $user->mail;
+      }
       if (is_numeric($nid)) {
         $mails[$mail][] = $nid;
       }
