diff --git a/application/models/tables/CourseCrosslistings.php b/application/models/tables/CourseCrosslistings.php
index 72ba072b811f4b067ce04567c38183034873918d..b1f6a520792219aacd5f10e6b1d3b0d1daa837cb 100644
--- a/application/models/tables/CourseCrosslistings.php
+++ b/application/models/tables/CourseCrosslistings.php
@@ -142,8 +142,17 @@ class CourseCrosslistings extends Local_Db_CourseTableMany
                 $eagerData['db'] = $courseCodes->getAdapter();
                 $eagerData['table'] = $courseCodes;
                 $eagerData['data'] = array_intersect_key($resultDatum, array_flip($courseCodesCols));
+                $eagerData['stored'] = true;
 
                 $eagerRow = new CourseCode($eagerData);
+                $eagerKey = $eagerRow->getPrimaryKey();
+
+                $eagerSaved = Nmc_Db_RowManager::getInstance()->find($courseCodes, $eagerKey);
+                if ($eagerSaved) {
+                    $eagerRow = $eagerSaved;
+                } else {
+                    Nmc_Db_RowManager::getInstance()->addRow($eagerRow);
+                }
 
                 $config['eagerData'][] = array('courseCode' => $eagerRow);
             }