diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java
index 0ee3ca10d5537fd371262f3078f46b66a2455726..1a09f8586bcbcb60783e66ecfc48440bed1d6bf0 100644
--- a/src/main/java/org/olat/course/run/CourseRuntimeController.java
+++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java
@@ -825,6 +825,8 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im
 			if(event instanceof BusinessGroupModifiedEvent) {
 				processBusinessGroupModifiedEvent((BusinessGroupModifiedEvent)event);
 			}
+		} else if (lifeCycleChangeCtr == source) {
+			loadRepositoryEntry();
 		} else if (currentToolCtr == source) {
 			if (event == Event.DONE_EVENT) {
 				// special check for editor
diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java
index 83d1e33798977e9845164bed2b3eef25fd8f0d6a..d2cadc87c10cca1e0f7b7598ae61de6ca551ac8f 100644
--- a/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java
+++ b/src/main/java/org/olat/repository/ui/RepositoryEntryLifeCycleChangeController.java
@@ -22,6 +22,7 @@ package org.olat.repository.ui;
 import java.util.Collections;
 import java.util.List;
 
+import org.olat.core.commons.persistence.DB;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.link.Link;
@@ -74,6 +75,8 @@ public class RepositoryEntryLifeCycleChangeController extends BasicController{
 	private ConfirmDeleteController confirmDeleteCtrl;
 	private CloseableModalController cmc;
 
+	@Autowired
+	private DB dbInstance;
 	@Autowired
 	private RepositoryService repositoryService;
 	@Autowired
@@ -136,6 +139,7 @@ public class RepositoryEntryLifeCycleChangeController extends BasicController{
 				cleanUp();
 			} else if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
 				cleanUp();
+				dbInstance.commit();//commit before sending events
 				fireEvent(ureq, deletedEvent);
 				EntryChangedEvent e = new EntryChangedEvent(re, getIdentity(), Change.deleted, "runtime");
 				ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, RepositoryService.REPOSITORY_EVENT_ORES);
@@ -172,6 +176,7 @@ public class RepositoryEntryLifeCycleChangeController extends BasicController{
 		re = repositoryService.loadByKey(re.getKey());
 		lifeCycleVC.remove(closeLink);
 		closeLink = null;
+		dbInstance.commit();//commit before sending events
 		fireEvent(ureq, closedEvent);
 	}
 	
diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
index 24f1368679af2103170a54d1f3f3b462b3796902..13ce692575ae8941d7fa4be1fc9f3defbbfc3f2a 100644
--- a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
+++ b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
@@ -122,7 +122,7 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController
 	private RepositoryEntryDetailsController detailsCtrl;
 	private RepositoryMembersController membersEditController;
 	protected RepositoryEditDescriptionController descriptionCtrl;
-	private RepositoryEntryLifeCycleChangeController lifeCycleChangeCtr;
+	protected RepositoryEntryLifeCycleChangeController lifeCycleChangeCtr;
 	
 	private Dropdown tools;
 	private Dropdown settings;