diff --git a/src/app/degree-planner/store/effects/plan.effects.ts b/src/app/degree-planner/store/effects/plan.effects.ts
index b387a80ffe1971cfdd766de072223beecb8b4d89..cf46847a1b537f147a0c4101620cf4de2d1cb733 100644
--- a/src/app/degree-planner/store/effects/plan.effects.ts
+++ b/src/app/degree-planner/store/effects/plan.effects.ts
@@ -57,9 +57,14 @@ export class DegreePlanEffects {
       return forkJoin(
         this.loadTermsForPlan(stdin),
         this.api.getSavedForLaterCourses(),
+        this.api.getAllSubjects(),
       ).pipe(
-        map(([planDetails, savedForLaterCourses]) => {
-          return { ...planDetails, savedForLaterCourses };
+        map(([planDetails, savedForLater, subjects]) => {
+          const savedForLaterCourses = savedForLater.map(course => {
+            course.subject = subjects[course.subjectCode];
+            return course;
+          });
+          return { ...planDetails, savedForLaterCourses, subjects };
         }),
       );
     }),
diff --git a/src/app/degree-planner/store/selectors.ts b/src/app/degree-planner/store/selectors.ts
index ba2171f023b8efb56a3dd4dd7c4da21698de929f..9ae5c24dc82566df18c65d391763a31903997781 100644
--- a/src/app/degree-planner/store/selectors.ts
+++ b/src/app/degree-planner/store/selectors.ts
@@ -67,7 +67,11 @@ export const getAllVisibleTermsByYear = createSelector(
 
     const allCourses = state.visibleTerms
       .map(term => term.courses)
-      .reduce((flat, nested) => flat.concat(nested), []);
+      .reduce((flat, nested) => flat.concat(nested), [])
+      .map(course => {
+        course.subject = state.subjects[course.subjectCode];
+        return course;
+      });
 
     return unqiueYears.map<Year>(year => {
       const century = year[0] === '0' ? 0 : 1;
diff --git a/src/app/degree-planner/store/state.ts b/src/app/degree-planner/store/state.ts
index 4268f9bb7818ff7fcfac47defd12c9d1961a0ffa..fc13fc4b0ec4809c99e3a822b25edb89904549ac 100644
--- a/src/app/degree-planner/store/state.ts
+++ b/src/app/degree-planner/store/state.ts
@@ -9,6 +9,7 @@ export interface DegreePlannerState {
   savedForLaterCourses: SavedForLaterCourse[];
   activeTermCodes: string[];
   allDegreePlans: DegreePlan[];
+  subjects: Object;
 }
 
 export const INITIAL_DEGREE_PLANNER_STATE: DegreePlannerState = {
@@ -17,4 +18,5 @@ export const INITIAL_DEGREE_PLANNER_STATE: DegreePlannerState = {
   savedForLaterCourses: [],
   activeTermCodes: [],
   allDegreePlans: [],
+  subjects: {},
 };