diff --git a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
index 744c53c390497d5c7de2416a4f026f4f1bd2581a..31e66ffda92db7f4e864fa56c7fcca961a19c867 100644
--- a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
@@ -696,9 +696,9 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements
 		Boolean passed = null;
 		if(cutValue != null) {
 			boolean aboveCutValue = score >= cutValue.floatValue();
-			passed = new Boolean(aboveCutValue);
+			passed = Boolean.valueOf(aboveCutValue);
 		}
-		ScoreEvaluation sceval = new ScoreEvaluation(new Float(score), passed);
+		ScoreEvaluation sceval = new ScoreEvaluation(Float.valueOf(score), passed);
 		
 		AssessmentManager am = assessedUserCourseEnv.getCourseEnvironment().getAssessmentManager();
 		am.saveScoreEvaluation(this, identity, assessedIdentity, sceval, assessedUserCourseEnv, false, by);
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
index 951a2bfd56a3bfa1d7c72358405ff7be33f4aaac..4f685c12f1617d72e90310cd6e0fd2cccf157f4f 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java
@@ -38,6 +38,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.ControllerEventListener;
+import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.dtabs.Activateable2;
 import org.olat.core.id.OLATResourceable;
@@ -138,7 +139,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 		boolean readOnly = isReadOnly();
 		if(formLayout instanceof FormLayoutContainer) {
 			FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout;
-			layoutCont.contextPut("readOnly", new Boolean(readOnly));
+			layoutCont.contextPut("readOnly", Boolean.valueOf(readOnly));
 			if(dueDate != null) {
 				layoutCont.contextPut("dueDate", dueDate);
 				layoutCont.contextPut("in-due-date", isPanelOpen(ureq, "due-date", true));
@@ -290,7 +291,9 @@ public class CheckListRunController extends FormBasicController implements Contr
 			CheckboxWrapper wrapper = (CheckboxWrapper)boxEl.getUserObject();
 			if(wrapper != null) {
 				boolean checked = boxEl.isAtLeastSelected(1);
-				doCheck(ureq, wrapper, checked);
+				if(doCheck(ureq, wrapper, checked)) {
+					fireEvent(ureq, Event.CHANGED_EVENT);
+				}
 			}
 		} else if("ONCLICK".equals(event.getCommand())) {
 			String cmd = ureq.getParameter("fcid");
@@ -302,7 +305,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 		super.formInnerEvent(ureq, source, event);
 	}
 	
-	private void doCheck(UserRequest ureq, CheckboxWrapper wrapper, boolean checked) {
+	private boolean doCheck(UserRequest ureq, CheckboxWrapper wrapper, boolean checked) {
 		DBCheckbox theOne;
 		if(wrapper.getDbCheckbox() == null) {
 			String uuid = wrapper.getCheckbox().getCheckboxId();
@@ -311,6 +314,7 @@ public class CheckListRunController extends FormBasicController implements Contr
 			theOne = wrapper.getDbCheckbox();
 		}
 		
+		boolean grantPoints = false;
 		if(theOne == null) {
 			//only warning because this happen in course preview
 			logWarn("A checkbox is missing: " + courseOres + " / " + courseNode.getIdent(), null);
@@ -321,17 +325,23 @@ public class CheckListRunController extends FormBasicController implements Contr
 			} else {
 				score = 0f;
 			}
-			checkboxManager.check(theOne, getIdentity(), score, new Boolean(checked));
+			if(wrapper.getCheckbox().getPoints() != null) {
+				grantPoints = true;
+			}
+			
+			checkboxManager.check(theOne, getIdentity(), score, Boolean.valueOf(checked));
 			//make sure all results is on the database before calculating some scores
-			//manager commit already DBFactory.getInstance().commit();
+			//manager commit already 
 			
 			courseNode.updateScoreEvaluation(getIdentity(), userCourseEnv, getIdentity(), Role.user);
 			
 			Checkbox checkbox = wrapper.getCheckbox();
 			logUpdateCheck(checkbox.getCheckboxId(), checkbox.getTitle());
+			
 		}
 		
 		exposeUserDataToVC(ureq, flc);
+		return grantPoints;
 	}
 	
 	private void logUpdateCheck(String checkboxId, String boxTitle) {
@@ -353,9 +363,9 @@ public class CheckListRunController extends FormBasicController implements Contr
 	private void saveOpenPanel(UserRequest ureq, String panelId, boolean newValue) {
 		Preferences guiPrefs = ureq.getUserSession().getGuiPreferences();
 		if (guiPrefs != null) {
-			guiPrefs.putAndSave(CheckListRunController.class, getOpenPanelId(panelId), new Boolean(newValue));
+			guiPrefs.putAndSave(CheckListRunController.class, getOpenPanelId(panelId), Boolean.valueOf(newValue));
 		}
-		flc.getFormItemComponent().contextPut("in-" + panelId, new Boolean(newValue));
+		flc.getFormItemComponent().contextPut("in-" + panelId, Boolean.valueOf(newValue));
 	}
 	
 	private String getOpenPanelId(String panelId) {
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java
index 7c2fad6e7fe23e43ec3cc11fe719022143784ed2..da5aa23e4e46e6105a977928ad5b698b944ebfc3 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java
+++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunForCoachController.java
@@ -27,6 +27,7 @@ import org.olat.core.gui.components.segmentedview.SegmentViewComponent;
 import org.olat.core.gui.components.segmentedview.SegmentViewEvent;
 import org.olat.core.gui.components.segmentedview.SegmentViewFactory;
 import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.controller.BasicController;
@@ -96,6 +97,16 @@ public class CheckListRunForCoachController extends BasicController {
 		}
 	}
 
+	@Override
+	protected void event(UserRequest ureq, Controller source, Event event) {
+		if(runController == source) {
+			if(event == Event.CHANGED_EVENT) {
+				fireEvent(ureq, event);
+			}
+		}
+		super.event(ureq, source, event);
+	}
+
 	private void doOpenRun(UserRequest ureq) {
 		if(runController == null) {
 			runController = new CheckListRunController(ureq, getWindowControl(), userCourseEnv, courseOres, courseNode);