diff --git a/src/main/java/org/olat/course/assessment/model/UserEfficiencyStatementImpl.hbm.xml b/src/main/java/org/olat/course/assessment/model/UserEfficiencyStatementImpl.hbm.xml
index d17e726464a5bcd4df31095373b690eab44752b2..e706cd210f58b61a3e701e0496413f9ad3ee9d61 100644
--- a/src/main/java/org/olat/course/assessment/model/UserEfficiencyStatementImpl.hbm.xml
+++ b/src/main/java/org/olat/course/assessment/model/UserEfficiencyStatementImpl.hbm.xml
@@ -17,7 +17,7 @@
 		</generator>
 	</id>
 
-	<version name="version" access="field" column="version" type="int"/>
+	<property name="version" access="field" column="version" type="int"/>
 	<property name="creationDate" column="creationdate" type="timestamp" />
 	<property name="lastModified" column="lastmodified" type="timestamp" />
 
@@ -63,7 +63,7 @@
 		</generator>
 	</id>
 
-	<version name="version" access="field" column="version" type="int"/>
+	<property name="version" access="field" column="version" type="int"/>
 	<property name="creationDate" column="creationdate" type="timestamp" />
 	<property name="lastModified" column="lastmodified" type="timestamp" />
 
@@ -101,7 +101,7 @@
 		</generator>
 	</id>
 
-	<version name="version" access="field" column="version" type="int"/>
+	<property name="version" access="field" column="version" type="int"/>
 	<property name="creationDate" column="creationdate" type="timestamp" />
 	<property name="lastModified" column="lastmodified" type="timestamp" />
 
diff --git a/src/main/java/org/olat/course/editor/PublishProcess.java b/src/main/java/org/olat/course/editor/PublishProcess.java
index 8ff9a2a80701b2b3fada5ef03d4cf48bbdb66432..5c1ab51e424515a5e431c19b4cb69100902dd605 100644
--- a/src/main/java/org/olat/course/editor/PublishProcess.java
+++ b/src/main/java/org/olat/course/editor/PublishProcess.java
@@ -39,6 +39,7 @@ import java.util.zip.ZipOutputStream;
 import org.apache.poi.util.IOUtils;
 import org.olat.basesecurity.BaseSecurityManager;
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
@@ -504,6 +505,9 @@ public class PublishProcess {
 			}
 		}
 		
+		//commit all changes before sending an event
+		DBFactory.getInstance().commitAndCloseSession();
+		
 		/*
 		 * broadcast event
 		 */
diff --git a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
index 1b9dfde7da6e7c24f597a61f70f6fe51e6cee419..e5b57257b973c6c6456380b04ad544b79dbc3c28 100644
--- a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java
@@ -742,6 +742,7 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements
 				DBFactory.getInstance().commitAndCloseSession();
 			}
 		}
+		DBFactory.getInstance().commitAndCloseSession();
 		super.updateOnPublish(locale, course, publisher, publishEvents);
 	}