diff --git a/application/modules/courses/controllers/EditController.php b/application/modules/courses/controllers/EditController.php
index cc41c5aa04f006ed26eddabcd6719254d6bd4c02..f57cd3d7466ed1beeab8eeab1d64c1c51faa1de0 100644
--- a/application/modules/courses/controllers/EditController.php
+++ b/application/modules/courses/controllers/EditController.php
@@ -257,9 +257,12 @@ class Courses_EditController extends Creq_Controller_Action
             unset($session->currentSavedRequestId);
         }
 
+	//make sure the request is using the current ACE recertification questions
+	$course->updateAceRecertification();
+	
         $session->request = $request;
         $session->course = $course;
-        $session->parentCourse = $parentCourse;
+	$session->parentCourse = $parentCourse;
 
         $this->_redirect('/courses/edit/index/id/' . $tempId);
     }
diff --git a/application/modules/courses/models/CourseModel.php b/application/modules/courses/models/CourseModel.php
index 98553dcf984dea210791f9eeb81d6588775027a6..7f6f765286d16464533d2dec78b220bf21c00076 100644
--- a/application/modules/courses/models/CourseModel.php
+++ b/application/modules/courses/models/CourseModel.php
@@ -3901,5 +3901,48 @@ class Courses_CourseModel extends Unl_Model
 
         return $changes;
     }
+
+    /**
+     * Update the ace recertification questions and answers. If there is a new version of the question set, it will be pulled in.
+     */
+    public function updateAceRecertification()
+    {
+	$db = Zend_Registry::get('db');
+        $select = new Zend_Db_Select($db);
+        $select->from(array('a' => 'creqCourseAceRecertifications'));
+        $select->where('a.generation = ?', $this->_data['course']);
+
+	$record = $select->query()->fetch();
+
+	if($record){
+           // for each AceRecertification record, get the questions and answers
+           //SELECT q.*, a.* FROM creq.creqCourseAceRecertifyAnswers AS a
+           //INNER JOIN creq.creqCourseAceRecertifyQuestions AS q ON a.questionId = q.courseAceRecertifyQuestionId
+           //INNER JOIN creq.creqCourseAceRecertifyQuestionSets AS s ON q.questionSetId = s.courseAceRecertifyQuestionSetId
+           //WHERE a.recertificationId = 785 ORDER BY q.questionSort;
+           $select = new Zend_Db_Select($db);
+           $select->from(array('a' => 'creqCourseAceRecertifyAnswers'));
+           $select->joinInner(array('q' => 'creqCourseAceRecertifyQuestions'), 'a.questionId = q.courseAceRecertifyQuestionId');
+           $select->joinInner(array('s' => 'creqCourseAceRecertifyQuestionSets'), 'q.questionSetId = s.courseAceRecertifyQuestionSetId');
+           $select->where('a.recertificationId = ?', $record['courseAceRecertificationId']);
+           $select->order('q.questionSort');
+           $recordsRecertQA = $select->query()->fetchAll();
+	}
+
+        if (!$recordsRecertQA || ($self->_data['type'] == "official" && !empty($recordsRecertQA[0]["dateRetired"]))) {
+            // load current empty question set
+            //SELECT q.* FROM creq.creqCourseAceRecertifyQuestionSets as s
+            //INNER JOIN creq.creqCourseAceRecertifyQuestions AS q ON s.courseAceRecertifyQuestionSetId = q.questionSetId
+            //WHERE s.dateRetired IS NULL ORDER BY q.questionSort;
+            $select = new Zend_Db_Select($db);
+            $select->from(array('s' => 'creqCourseAceRecertifyQuestionSets'));
+            $select->joinInner(array('q' => 'creqCourseAceRecertifyQuestions'), 's.courseAceRecertifyQuestionSetId = q.questionSetId');
+            $select->where('s.dateRetired IS NULL');
+            $select->order('q.questionSort');
+            $recordsRecertQA = $select->query()->fetchAll();
+	}
+
+        $self->_data['aceRecertification'] = $recordsRecertQA;
+    }
 }