diff --git a/application/modules/courses/views/scripts/view/change-ace.phtml b/application/modules/courses/views/scripts/view/change-ace.phtml
index 5e2c6fc4c173780332746d79e72ca51605f9bd55..1ecbd332482203b908845371d40396b50c91d6a0 100644
--- a/application/modules/courses/views/scripts/view/change-ace.phtml
+++ b/application/modules/courses/views/scripts/view/change-ace.phtml
@@ -6,54 +6,50 @@ $currentAceOutcomes = $this->course->getAceOutcomes();
 $currentAceReinforcements = $this->course->getAceReinforcements();
 
 
-foreach ($previousAceOutcomes as &$previousAceOutcome) {
-	$previousAceOutcome['state'] = 'deleted';
+foreach ($previousAceOutcomes as $index => $previousAceOutcome) {
+	$previousAceOutcomes[$index]['state'] = 'deleted';
 	foreach ($currentAceOutcomes as $currentAceOutcome) {
-		if ($previousAceOutcome['slo'] == $currentAceOutcome['slo']) {
-			$previousAceOutcome['state'] = 'changed';
-            $previousAceOutcome['justification'] = $this->HtmlDiff($previousAceOutcome['justification'], $currentAceOutcome['justification']);
-            $previousAceOutcome['studentWork'] =   $this->HtmlDiff($previousAceOutcome['studentWork'],   $currentAceOutcome['studentWork']);
-            $previousAceOutcome['assesmentPlan'] = $this->HtmlDiff($previousAceOutcome['assesmentPlan'], $currentAceOutcome['assesmentPlan']);
+		if ($previousAceOutcomes[$index]['slo'] == $currentAceOutcome['slo']) {
+			$previousAceOutcomes[$index]['state'] = 'changed';
+            $previousAceOutcomes[$index]['justification'] = $this->HtmlDiff($previousAceOutcome['justification'], $currentAceOutcome['justification']);
+            $previousAceOutcomes[$index]['studentWork'] =   $this->HtmlDiff($previousAceOutcome['studentWork'],   $currentAceOutcome['studentWork']);
+            $previousAceOutcomes[$index]['assesmentPlan'] = $this->HtmlDiff($previousAceOutcome['assesmentPlan'], $currentAceOutcome['assesmentPlan']);
 		} 
 	}
 }
-unset($previousAceOutcome);
 
-foreach ($currentAceOutcomes as &$currentAceOutcome) {
-	$currentAceOutcome['state'] = 'new';
+foreach ($currentAceOutcomes as $index => $currentAceOutcome) {
+	$currentAceOutcomes[$index]['state'] = 'new';
 	foreach ($previousAceOutcomes as $previousAceOutcome) {
-		if ($currentAceOutcome['slo'] == $previousAceOutcome['slo']) {
-			$currentAceOutcome['state'] = 'changed';
-            $currentAceOutcome['justification'] = $previousAceOutcome['justification'];
-            $currentAceOutcome['studentWork'] =   $previousAceOutcome['studentWork'];
-            $currentAceOutcome['assesmentPlan'] = $previousAceOutcome['assesmentPlan'];
+		if ($currentAceOutcomes[$index]['slo'] == $previousAceOutcome['slo']) {
+			$currentAceOutcomes[$index]['state'] = 'changed';
+            $currentAceOutcomes[$index]['justification'] = $previousAceOutcome['justification'];
+            $currentAceOutcomes[$index]['studentWork'] =   $previousAceOutcome['studentWork'];
+            $currentAceOutcomes[$index]['assesmentPlan'] = $previousAceOutcome['assesmentPlan'];
         }
 	}
 }
-unset($currentAceOutcome);
 
-foreach ($previousAceReinforcements as &$previousAceReinforcement) {
-    $previousAceReinforcement['state'] = 'deleted';
+foreach ($previousAceReinforcements as $index => $previousAceReinforcement) {
+    $previousAceReinforcements[$index]['state'] = 'deleted';
     foreach ($currentAceReinforcements as $currentAceReinforcement) {
-        if ($previousAceReinforcement['name'] == $currentAceReinforcement['name']) {
-            $previousAceReinforcement['state'] = 'changed';
-            $previousAceReinforcement['description'] = $this->HtmlDiff($previousAceReinforcement['description'], $currentAceReinforcement['description']);
+        if ($previousAceReinforcements[$index]['name'] == $currentAceReinforcement['name']) {
+            $previousAceReinforcements[$index]['state'] = 'changed';
+            $previousAceReinforcements[$index]['description'] = $this->HtmlDiff($previousAceReinforcement['description'], $currentAceReinforcement['description']);
         }
     }
 }
-unset($previousAceReinforcement);
 
 
-foreach ($currentAceReinforcements as &$currentAceReinforcement) {
-    $currentAceReinforcement['state'] = 'new';
+foreach ($currentAceReinforcements as $index => $currentAceReinforcement) {
+    $currentAceReinforcements[$index]['state'] = 'new';
     foreach ($previousAceReinforcements as $previousAceReinforcement) {
-        if ($currentAceReinforcement['name'] == $previousAceReinforcement['name']) {
-            $currentAceReinforcement['state'] = 'changed';
-            $currentAceReinforcement['description'] = $previousAceReinforcement['description'];
+        if ($currentAceReinforcements[$index]['name'] == $previousAceReinforcement['name']) {
+            $currentAceReinforcements[$index]['state'] = 'changed';
+            $currentAceReinforcements[$index]['description'] = $previousAceReinforcement['description'];
         }
     }
 }
-unset($currentAceReinforcement);
 
 
 
diff --git a/document_root/javascript/courses/edit.js b/document_root/javascript/courses/edit.js
index acb1a325a591e68e8a348f92c92066c3f5648d51..12ac14301af1f1bf0a36c862253b49ae9cb8a6f0 100644
--- a/document_root/javascript/courses/edit.js
+++ b/document_root/javascript/courses/edit.js
@@ -9,19 +9,21 @@ $(document).ready(function() {
 
     if (document.getElementById('aceOutcomeList')) {
         var outcomesChecked = 0;
-        var aceOutcomeItems = document.getElementById('aceOutcomeList').getElementsByTagName('input');
-        for (var i = 0; i < aceOutcomeItems.length; i++) {
-            aceOutcomeItems[i].onchange = handleOutcomeToggled;
-            aceOutcomeItems[i].onclick = handleOutcomeClicked;
-            if (aceOutcomeItems[i].checked) {
-                outcomesChecked++;
-            }
-        }
-        if (outcomesChecked >= 2) {
-            for (var i = 0; i < aceOutcomeItems.length; i++) {
-                aceOutcomeItems[i].disabled = !aceOutcomeItems[i].checked;
-            }
-        }
+
+    	WDN.jQuery('#aceOutcomeList input[type=checkbox]').each(function(index) {
+    		WDN.jQuery(this).change(handleOutcomeToggled);
+    		WDN.jQuery(this).click(handleOutcomeClicked);
+    		if (this.checked) {
+    			outcomesChecked++;
+    		}
+    	});
+    	
+    	if (outcomesChecked >= 2) {
+    		WDN.jQuery('#aceOutcomeList input[type=checkbox]').each(function(index) {
+    			this.disabled = !this.checked;
+    			console.log(this.type);
+    		});
+    	}
     }
 
     if (document.getElementById('aceReinforcementList')) {
@@ -646,13 +648,13 @@ function handleReinforcementClicked()
 
 function handleOutcomeToggled()
 {
-    var aceOutcomeItems = document.getElementById('aceOutcomeList').getElementsByTagName('input');
+    var aceOutcomeItems = WDN.jQuery('#aceOutcomeList input[type=checkbox]');
     enforceMaximumSelectionCount(aceOutcomeItems, this, 2, true);
 }
 
 function handleReinforcementToggled()
 {
-    var aceReinforcementItems = document.getElementById('aceReinforcementList').getElementsByTagName('input');
+    var aceReinforcementItems = WDN.jQuery('#aceReinforcementList input[type=checkbox]');
     enforceMaximumSelectionCount(aceReinforcementItems, this, 100, true);
 }