diff --git a/backend/src/util/db/study-plan.js b/backend/src/util/db/study-plan.js
index 75fc4d9da6c85aae6e7767a28fe6e91af21aa7dc..79797922f72795f6e4a050e6c8de7d0e6adc3502 100644
--- a/backend/src/util/db/study-plan.js
+++ b/backend/src/util/db/study-plan.js
@@ -77,8 +77,8 @@ const updateStudyPlan = async (studyPlan, changeset) => {
   const { studyPlanCourses } = changeset;
 
   if (studyPlanCourses) {
-    deleteAllStudyPlanCourses(studyPlan.id);
-    recreateAllStudyPlanCourses(studyPlan.id, studyPlanCourses);
+    await deleteAllStudyPlanCourses(studyPlan.id);
+    await recreateAllStudyPlanCourses(studyPlan.id, studyPlanCourses);
   }
 
   const result = await studyPlan.update(changeset);
@@ -97,18 +97,12 @@ const deleteAllStudyPlanCourses = async (studyPlanId) => {
 };
 
 const recreateAllStudyPlanCourses = async (studyPlanId, studyPlanCourses) => {
-  await studyPlanCourses.forEach(async (course) => {
-    const { 
-      courseClassId,
-      status 
-    } = course;
-
+  for (const course of studyPlanCourses) {
     await StudyPlanCourse.create({
       studyPlanId,
-      courseClassId,
-      status
+      ...course,
     });
-  });
+  }
 };
 
 module.exports = {