diff --git a/quiz.module b/quiz.module
index c3d71b7..d1e4cd1 100644
--- a/quiz.module
+++ b/quiz.module
@@ -1397,6 +1397,13 @@ function quiz_form(&$node, &$form_state) {
         '#description' => t("This is the text that will be displayed when the user's score falls in this range."),
         '#format' => isset($option['option_summary_format']) ? $option['option_summary_format'] : NULL,
       );
+      if (module_exists('token')) {
+        // Embed token help.
+        $form['resultoptions'][$i]['option_summary_tokens'] = array(
+          '#title' => 'Tokens',
+          '#markup' => theme('token_tree', array('token_types' => array('global', 'node', 'user', 'quiz_result'))),
+        );
+      }
       if (isset($option['option_id'])) {
         $form['resultoptions'][$i]['option_id'] = array(
           '#type' => 'hidden',
diff --git a/quiz.pages.inc b/quiz.pages.inc
index e9e3640..405e3f1 100644
--- a/quiz.pages.inc
+++ b/quiz.pages.inc
@@ -73,6 +73,8 @@ function quiz_check_feedback(QuizResult $quiz_result) {
  */
 function quiz_report_form($form, $form_state, $questions, $result_id) {
   $form = array();
+  $quiz_result = quiz_result_load($result_id);
+  $account = user_load($quiz_result->uid);
   // The submit button is only shown if one or more of the questions has input elements
   $show_submit = FALSE;
   foreach ($questions as $question) {
@@ -82,6 +84,14 @@ function quiz_report_form($form, $form_state, $questions, $result_id) {
     }
     $function = $module . '_report_form';
     $form_to_add = $function($question, $result_id);
+    $token_types = array(
+      'global' => NULL,
+      'node' => !empty($form_to_add['nid']) ? node_load($form_to_add['nid']['#value']) : NULL,
+      'user' => $account,
+    );
+    if (!empty($form_to_add['question_feedback']['#markup']) && module_exists('token')) {
+      $form_to_add['question_feedback']['#markup'] = token_replace($form_to_add['question_feedback']['#markup'], $token_types, array('clear' => TRUE));
+    }
     if (isset($form_to_add['submit'])) {
       $show_submit = TRUE;
       $form_to_add['#element_validate'][] = 'quiz_report_form_element_validate';
@@ -456,7 +466,14 @@ function theme_quiz_result($variables) {
       $quiz_feedback['#markup'] .= '<div id="quiz-summary">' . $summary['passfail'] . '</div>';
     }
     if (!empty($summary['result'])) {
-      $quiz_feedback['#markup'] .= '<div id="quiz-summary">' . $summary['result'] . '</div>';
+      $token_types = array(
+        'global' => NULL,
+        'node' => $quiz,
+        'user' => $account,
+        'quiz_result' => $quiz_result,
+      );
+      $summary_result = module_exists('token') ? token_replace($summary['result'], $token_types, array('clear' => TRUE)) : $summary['result'];
+      $quiz_feedback['#markup'] .= '<div id="quiz-summary">' . $summary_result . '</div>';
     }
   }
   $report_form['quiz_feedback'] = $quiz_feedback;
