diff --git a/mod/quiz/attemptlib.php b/mod/quiz/attemptlib.php
index 385832d..a2ca457 100644
--- a/mod/quiz/attemptlib.php
+++ b/mod/quiz/attemptlib.php
@@ -1155,7 +1155,9 @@ class quiz_attempt {
         $DB->update_record('quiz_attempts', $this->attempt);
 
         if (!$this->is_preview()) {
-            quiz_save_best_grade($this->get_quiz());
+            
+            //MDL-31407; ensure that quiz grades are updated for the user taking the quiz, not the submitter
+            quiz_save_best_grade($this->get_quiz(), $this->atttempt->userid);
 
             // Trigger event
             $eventdata = new stdClass();
