--- quiz/quiz.module
+++ quiz/quiz.module
@@ -2526,7 +2526,7 @@ function quiz_mail($key, &$message, $par
       $substitutions = array(
         '!title' => $quiz->title,
         '!sitename' => variable_get('site_name', 'Quiz'),
-        '!taker' => $user->name,
+        '!taker' => isset($user->name) ? $user->name : 'Anonymous User',
         '!author' => $quiz->name,
         '!title' => check_plain($quiz->title),
         '!date' => date("F j, Y, g:i a"),
@@ -2539,8 +2539,9 @@ function quiz_mail($key, &$message, $par
       );
       $type = $target != 'author' ? '_taker' : '';
       $test = variable_get('quiz_email_results_body' . $type, quiz_email_results_format('body', $target));
-      $message['subject'] = t(variable_get('quiz_email_results_subject' . $type, quiz_email_results_format('subject', $target)), $substitutions, array('langcode' => $user->language));
-      $message['body'][] = t($test, $substitutions, array('langcode' => $user->language));
+      $user_language = isset($user->language) ? $user->language : language_default()->language;
+      $message['subject'] = t(variable_get('quiz_email_results_subject' . $type, quiz_email_results_format('subject', $target)), $substitutions, array('langcode' => $user_language));
+      $message['body'][] = t($test, $substitutions, array('langcode' => $user_language));
   }
 }
 
