diff --git a/src/app/degree-planner/store/reducer.ts b/src/app/degree-planner/store/reducer.ts
index bf294dd710c2abe65cd95bb1c5f11f287e02842e..2e9f7481ae204366c01ec117f8f2b8faf174a83e 100644
--- a/src/app/degree-planner/store/reducer.ts
+++ b/src/app/degree-planner/store/reducer.ts
@@ -475,21 +475,26 @@ export function degreePlannerReducer(
     }
 
     case courseActions.CourseActionTypes.AddSaveForLater: {
-      const { newIndex } = action.payload;
+      const { courseId, subjectCode, newIndex } = action.payload;
+
+      const savedForLaterCourses = state.savedForLaterCourses.filter(c => {
+        return !(c.courseId === courseId && c.subjectCode === subjectCode);
+      });
+
       const newSavedCourse: SavedForLaterCourse = {
         id: null,
-        courseId: action.payload.courseId,
+        courseId: courseId,
         termCode: '0000',
         topicId: 0,
-        subjectCode: action.payload.subjectCode,
+        subjectCode: subjectCode,
         title: action.payload.title,
         catalogNumber: action.payload.catalogNumber,
         courseOrder: 0,
       };
-      const savedForLaterCoursesArr = state.savedForLaterCourses.slice();
 
-      savedForLaterCoursesArr.splice(newIndex, 0, newSavedCourse);
-      return { ...state, savedForLaterCourses: savedForLaterCoursesArr };
+      savedForLaterCourses.splice(newIndex, 0, newSavedCourse);
+
+      return { ...state, savedForLaterCourses };
     }
 
     case planActions.PlanActionTypes.CreatePlanSuccess: {