diff --git a/src/main/java/org/olat/course/nodes/BCCourseNode.java b/src/main/java/org/olat/course/nodes/BCCourseNode.java
index 31c64de7c2d4428a21fc359a7f71f2f46439eafb..6a0d80162e41746f86254c093841fb719ad65c38 100644
--- a/src/main/java/org/olat/course/nodes/BCCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/BCCourseNode.java
@@ -104,7 +104,7 @@ public class BCCourseNode extends AbstractAccessableCourseNode {
 	@Override
 	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel, ICourse course, UserCourseEnvironment euce) {
 		updateModuleConfigDefaults(false);
-		BCCourseNodeEditController childTabCntrllr = new BCCourseNodeEditController(this, course, ureq, wControl, euce);
+		BCCourseNodeEditController childTabCntrllr = new BCCourseNodeEditController(this, course, ureq, wControl, stackPanel, euce);
 		CourseNode chosenNode = course.getEditorTreeModel().getCourseNode(euce.getCourseEditorEnv().getCurrentCourseNodeId());
 		return new NodeEditController(ureq, wControl, course.getEditorTreeModel(), course, chosenNode, euce, childTabCntrllr);
 	}
diff --git a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java
index e85b819e2c4f9b0159501c1cbbd7d19746c890e4..669022ff3107499e18ab9ba3b96f053e7c79c4b1 100644
--- a/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java
+++ b/src/main/java/org/olat/course/nodes/bc/BCCourseNodeEditController.java
@@ -31,13 +31,14 @@ import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.link.Link;
 import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.stack.BreadcrumbPanel;
+import org.olat.core.gui.components.stack.PopEvent;
 import org.olat.core.gui.components.tabbedpane.TabbedPane;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 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.closablewrapper.CloseableModalController;
 import org.olat.core.gui.control.generic.tabbable.ActivateableTabbableDefaultController;
 import org.olat.core.util.vfs.Quota;
 import org.olat.core.util.vfs.QuotaManager;
@@ -78,12 +79,14 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr
 	
 	private Link vfButton;
 	private TabbedPane myTabbedPane;
-	private VelocityContainer accessabiliryContent, folderContent;
+	private final BreadcrumbPanel stackPanel;
+	private final VelocityContainer folderContent;
+	private final VelocityContainer accessabiliryContent;
 
-	private CloseableModalController cmc;
 	private FolderRunController folderCtrl;
 	private BCCourseNodeEditForm folderPathChoose;
-	private ConditionEditController uploaderCondContr, downloaderCondContr;
+	private ConditionEditController uploaderCondContr;
+	private ConditionEditController downloaderCondContr;
 	
 	
 	@Autowired
@@ -97,13 +100,15 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr
 	 * @param ureq
 	 * @param wControl
 	 */
-	public BCCourseNodeEditController(BCCourseNode bcNode, ICourse course, UserRequest ureq, WindowControl wControl,
+	public BCCourseNodeEditController(BCCourseNode bcNode, ICourse course, UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel,
 			UserCourseEnvironment euce) {
 		super(ureq,wControl);
 		//o_clusterOK by guido: inside course editor its save to have a reference to the course
 		this.course = course;
 		this.bcNode = bcNode;
 		myTabbedPane = null;
+		this.stackPanel = stackPanel;
+		stackPanel.addListener(this);
 		
 		accessabiliryContent = createVelocityContainer("edit");
 
@@ -141,8 +146,15 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr
 
 	@Override
 	public void event(UserRequest ureq, Component source, Event event) {
-		if (source == vfButton){
+		if (source == vfButton) {
 			doOpenFolder(ureq);
+		} else if(source == stackPanel) {
+			if(event instanceof PopEvent) {
+				PopEvent pe = (PopEvent)event;
+				if(pe.getController() == folderCtrl) {
+					cleanUp();
+				}
+			}
 		}
 	}
 	
@@ -181,11 +193,10 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr
 		if(namedContainer == null) {
 			showWarning("warning.no.linkedfolder");
 		} else {
+			removeAsListenerAndDispose(folderCtrl);
 			folderCtrl = new FolderRunController(namedContainer, false, ureq, getWindowControl());
 			listenTo(folderCtrl);
-			cmc = new CloseableModalController(getWindowControl(), translate("close"), folderCtrl.getInitialComponent());
-			listenTo(cmc);
-			cmc.activate();
+			stackPanel.pushController("Preview", folderCtrl);
 		}
 	}
 	
@@ -219,21 +230,14 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr
 				accessabiliryContent.contextPut("uploadable", true);
 			}
 			fireEvent(urequest, event);
-		} else if(cmc == source) {
-			cleanUp();
 		}
 	}
 	
 	private void cleanUp() {
 		removeAsListenerAndDispose(folderCtrl);
-		removeAsListenerAndDispose(cmc);
 		folderCtrl = null;
-		cmc = null;
 	}
 
-	/**
-	 * @see org.olat.core.gui.control.generic.tabbable.TabbableDefaultController#addTabs(org.olat.core.gui.components.TabbedPane)
-	 */
 	@Override
 	public void addTabs(TabbedPane tabbedPane) {
 		myTabbedPane = tabbedPane;
@@ -243,7 +247,9 @@ public class BCCourseNodeEditController extends ActivateableTabbableDefaultContr
 
 	@Override
 	protected void doDispose() {
-		//
+		if(stackPanel != null) {
+			stackPanel.removeListener(this);
+		}
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
index ff52cab378c8e09c602d945169c09c1e45f34644..9e5431666d8ac7976df047dcbf9537fc66640246 100644
--- a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
+++ b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
@@ -313,7 +313,7 @@ public class ScoreAccounting {
 					lifecycle.getValidTo();//
 				}
 				return lifecycle;
-			} catch (LazyInitializationException e) {
+			} catch (LazyInitializationException | NullPointerException e) {
 				//OO-2667: only seen in 1 instance but as it's a critical place, secure the system
 				RepositoryEntry reloadedEntry = CoreSpringFactory.getImpl(RepositoryService.class)
 						.loadByKey(cgm.getCourseEntry().getKey());
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
index 0bc85516283519b1ea0d8fa80aeb30957b785b03..dca21f2322a1af8591a51a1b049384eefd8324b1 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
@@ -197,7 +197,7 @@ cmd.forward=Weiter
 cmd.import.ressource=Importieren
 cmd.import.url.ressource=Importieren URL
 cmd.import.ressource.desc=W\u00E4hlen Sie eine Lernressource f\u00FCr den Import\:<ul><li>OpenOlat Formate\: Kurs, Ressourcenordner, Glossar, Wiki, Podcast, Blog, Portfoliovorlage</li><li>Videos\: MP4</li><li>Standardformate\: IMS Content Packaging, IMS QTI Test oder Fragebogen, SCORM 1.2</li><li>Dateien\: beliebig</li></ul>
-cmd.import.ressource.url.desc=Tragen Sie eine URL f\u00FCr den Import ein\:<ul><li>Videos\: MP4, Youttube, Vimeo, Panopto</li><li>Blog oder Podcast</li></ul>
+cmd.import.ressource.url.desc=Tragen Sie eine URL f\u00FCr den Import ein\:<ul><li>Videos\: MP4, Youtube, Vimeo, Panopto</li><li>Blog oder Podcast</li></ul>
 comments=Kommentar
 confirmation.no.toolHelp=Aktion abbrechen.
 confirmation.yes.toolHelp=Lernressource l\u00F6schen.
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
index d2fdf976ae8424e8b1bf4550ec439bde4802a470..513ceff67cf01bd7dc2b1c830d2c85840fb9d39a 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
@@ -196,7 +196,7 @@ cmd.finish=Fermer l'assistant
 cmd.forward=Continuer
 cmd.import.ressource=Importer
 cmd.import.ressource.desc=Choisissez une ressource didactique \u00E0 importer\:<ul><li>Formats OpenOlat\: Cours, le dossier de fichiers, glossaire, wiki, podcasts, blogues, mod\u00E8le  portfolio</li><li>Vid\u00E9os\: MP4</li><li>Formats standards\: IMS Content Packaging, test ou questionnaire IMS QTI, SCORM 1.2</li><li>Fichiers\: quelconque</ li> </ ul>
-cmd.import.ressource.url.desc=Entrez un lien / URL pour importer\: <ul><li>des vid\u00E9os\: MP4, Youttube, Vimeo, Panopto</li><li>des blog ou des podcast</li></ul>
+cmd.import.ressource.url.desc=Entrez un lien / URL pour importer\: <ul><li>des vid\u00E9os\: MP4, Youtube, Vimeo, Panopto</li><li>des blog ou des podcast</li></ul>
 cmd.import.url.ressource=Importer une URL
 comments=Commentaires
 confirmation.no.toolHelp=Annuler l'op\u00E9ration