diff --git a/src/main/java/org/olat/core/gui/components/htmlheader/jscss/CustomCSS.java b/src/main/java/org/olat/core/gui/components/htmlheader/jscss/CustomCSS.java
index 5c68e31af728ea5580319b2da85df21dfcb5da78..e83061ed68c155cc4c10badab3704e5255c41015 100644
--- a/src/main/java/org/olat/core/gui/components/htmlheader/jscss/CustomCSS.java
+++ b/src/main/java/org/olat/core/gui/components/htmlheader/jscss/CustomCSS.java
@@ -47,11 +47,11 @@ import org.olat.core.util.vfs.VFSManager;
  */
 public class CustomCSS extends LogDelegator implements Disposable {
 
-	private String relCssFilename;
-	private String relCssFileIframe;
-	private Mapper cssUriMapper;
-	private MapperKey cssUriMapperKey;
-	private JSAndCSSComponent jsAndCssComp;
+	private final String relCssFilename;
+	private final String relCssFileIframe;
+	private final Mapper cssUriMapper;
+	private final MapperKey cssUriMapperKey;
+	private final JSAndCSSComponent jsAndCssComp;
 	private Object DISPOSE_LOCK = new Object();
 
 	/**
@@ -67,9 +67,10 @@ public class CustomCSS extends LogDelegator implements Disposable {
 	 */
 	public CustomCSS(final VFSContainer cssBaseContainer,
 			final String relCssFilename, UserSession uSess) {
-		createCSSUriMapper(cssBaseContainer);
+		cssUriMapper = createCSSUriMapper(cssBaseContainer);
 		this.relCssFilename = relCssFilename;
-		registerMapper(cssBaseContainer, uSess);
+		this.relCssFileIframe = null;
+		cssUriMapperKey = registerMapper(cssBaseContainer, uSess);
 		// initialize js and css component
 		jsAndCssComp = new JSAndCSSComponent("jsAndCssComp", this.getClass(), false);
 		String fulluri = cssUriMapperKey.getUrl() + relCssFilename;
@@ -79,10 +80,10 @@ public class CustomCSS extends LogDelegator implements Disposable {
 	
 	public CustomCSS(final VFSContainer cssBaseContainer,
 			final String relCssFileMain, final String relCssFileIFrame, UserSession uSess ) {
-		createCSSUriMapper(cssBaseContainer);
+		cssUriMapper = createCSSUriMapper(cssBaseContainer);
 		this.relCssFilename = relCssFileMain;
 		this.relCssFileIframe = relCssFileIFrame;
-		registerMapper(cssBaseContainer, uSess);
+		cssUriMapperKey = registerMapper(cssBaseContainer, uSess);
 		
 		// initialize js and css component
 		jsAndCssComp = new JSAndCSSComponent("jsAndCssComp", this.getClass(), false);
@@ -96,25 +97,27 @@ public class CustomCSS extends LogDelegator implements Disposable {
 	 * @param cssBaseContainer
 	 * @param uSess
 	 */
-	private void registerMapper(final VFSContainer cssBaseContainer, UserSession uSess) {
+	private MapperKey registerMapper(final VFSContainer cssBaseContainer, UserSession uSess) {
 		// Register mapper as cacheable
 		String mapperID = VFSManager.getRealPath(cssBaseContainer);
+		MapperKey mapperKey;
 		if (mapperID == null) {
 			// Can't cache mapper, no cacheable context available
-			cssUriMapperKey  = CoreSpringFactory.getImpl(MapperService.class).register(uSess, cssUriMapper);
+			mapperKey = CoreSpringFactory.getImpl(MapperService.class).register(uSess, cssUriMapper);
 		} else {
 			// Add classname to the file path to remove conflicts with other
 			// usages of the same file path
 			mapperID = this.getClass().getSimpleName() + ":" + mapperID + System.currentTimeMillis();
-			cssUriMapperKey  = CoreSpringFactory.getImpl(MapperService.class).register(uSess, mapperID, cssUriMapper);
+			mapperKey = CoreSpringFactory.getImpl(MapperService.class).register(uSess, mapperID, cssUriMapper);
 		}
+		return mapperKey;
 	}
 
 	/**
 	 * @param cssBaseContainer
 	 */
-	private void createCSSUriMapper(final VFSContainer cssBaseContainer) {
-		cssUriMapper = new VFSContainerMapper(cssBaseContainer);
+	private Mapper createCSSUriMapper(final VFSContainer cssBaseContainer) {
+		return new VFSContainerMapper(cssBaseContainer);
 	}
 
 	/**
@@ -149,13 +152,11 @@ public class CustomCSS extends LogDelegator implements Disposable {
 	/**
 	 * @see org.olat.core.gui.control.Disposable#dispose()
 	 */
+	@Override
 	public void dispose() {
 		synchronized (DISPOSE_LOCK) {
-			if (cssUriMapper != null) {
-				CoreSpringFactory.getImpl(MapperService.class).cleanUp(Collections.singletonList(cssUriMapperKey));
-				cssUriMapper = null;
-				cssUriMapperKey = null;
-				jsAndCssComp = null;				
+			if (cssUriMapperKey != null) {
+				CoreSpringFactory.getImpl(MapperService.class).cleanUp(Collections.singletonList(cssUriMapperKey));				
 			}
 		}
 	}