diff -uNr ./moodle_orig/mod/quiz/editrandom.php ./moodle/mod/quiz/editrandom.php --- ./moodle_orig/mod/quiz/editrandom.php 2020-03-09 19:29:59.000000000 +0100 +++ ./moodle/mod/quiz/editrandom.php 2020-05-18 01:20:38.000000000 +0200 @@ -149,7 +149,7 @@ // Now, delete the remaining records. if (!empty($recordstokeep)) { list($select, $params) = $DB->get_in_or_equal($recordstokeep, SQL_PARAMS_QM, 'param', false); - $DB->delete_records_select('quiz_slot_tags', "id $select", $params); + $DB->delete_records_select('quiz_slot_tags', "slotid = {$slot->id} AND id $select", $params); } else { $DB->delete_records('quiz_slot_tags', array('slotid' => $slot->id)); } diff -uNr ./moodle_orig/mod/quiz/locallib.php ./moodle/mod/quiz/locallib.php --- ./moodle_orig/mod/quiz/locallib.php 2020-03-09 19:29:59.000000000 +0100 +++ ./moodle/mod/quiz/locallib.php 2020-05-18 01:21:56.000000000 +0200 @@ -2524,7 +2524,7 @@ } } - $carry[$slottag->slotid][] = $slottag; + $carry[$slottag->slotid][$slottag->id] = $slottag; return $carry; }, $emptytagids