diff --git a/mod/workshop/form/accumulative/db/upgradelib.php b/mod/workshop/form/accumulative/db/upgradelib.php
index aa73a52..51e8862 100644
--- a/mod/workshop/form/accumulative/db/upgradelib.php
+++ b/mod/workshop/form/accumulative/db/upgradelib.php
@@ -68,7 +68,8 @@ function workshopform_accumulative_upgrade_legacy() {
         $sql = "SELECT *
                   FROM {workshop_grades_old}
                  WHERE workshopid $workshopids
-                       AND newid IS NULL";
+                       AND newid IS NULL 
+                  GROUP BY workshopid, assessmentid, elementno"; // filter out duplicate ids in old data
         $rs = $DB->get_recordset_sql($sql, $params);
         $newassessmentids = workshop_upgrade_assessment_id_mappings();
         foreach ($rs as $old) {
