diff --git a/src/main/java/org/olat/core/gui/components/Container.java b/src/main/java/org/olat/core/gui/components/Container.java
index 79ab79d993bfb439a022670ef901ae1b3c3a11bb..790bd4735724191ac4e0aa77fbb324da38dc0c48 100644
--- a/src/main/java/org/olat/core/gui/components/Container.java
+++ b/src/main/java/org/olat/core/gui/components/Container.java
@@ -110,6 +110,10 @@ public abstract class Container extends Component implements ComponentCollection
 		return components.values();
 	}
 	
+	public Map<String,Component> getComponentMap() {
+		return components;
+	}
+	
 	public void clear() {
 		components.clear();
 	}
diff --git a/src/main/java/org/olat/core/gui/components/Window.java b/src/main/java/org/olat/core/gui/components/Window.java
index 0409dc2141213e1fdfc53affed214dcfa88040ae..7eb9abd3ebcdc16674b8d59c0ba7119d7f31aa4d 100644
--- a/src/main/java/org/olat/core/gui/components/Window.java
+++ b/src/main/java/org/olat/core/gui/components/Window.java
@@ -1066,7 +1066,7 @@ public class Window extends Container {
 			boolean correctFullPath = true;
 			for (int i = res.length -1; i >= 0 && correctFullPath; i--) {
 				String cname = res[i];	
-				Container co = (Container) cur; // we did not record the leaf, so we know it's a container
+				ComponentCollection co = (ComponentCollection) cur; // we did not record the leaf, so we know it's a container
 				Component c = co.getComponent(cname);
 				if (c == null) {
 					correctFullPath = false;
diff --git a/src/main/java/org/olat/core/gui/render/Renderer.java b/src/main/java/org/olat/core/gui/render/Renderer.java
index e2371d389d46efc338426c4b293267ef83a34957..839465929d7ee448390f22ca278739fd77616b7f 100644
--- a/src/main/java/org/olat/core/gui/render/Renderer.java
+++ b/src/main/java/org/olat/core/gui/render/Renderer.java
@@ -26,6 +26,9 @@
 
 package org.olat.core.gui.render;
 
+import java.util.Iterator;
+import java.util.Map;
+
 import org.olat.core.defaults.dispatcher.StaticMediaDispatcher;
 import org.olat.core.gui.GUIInterna;
 import org.olat.core.gui.GlobalSettings;
@@ -43,16 +46,6 @@ import org.olat.core.util.WebappHelper;
  */
 public class Renderer {
 
-	/**
-	 * <code>showDebugInfo</code>
-	 */
-	//public static boolean showDebugInfo = false;
-	/**
-	 * true: use mini style, false: use traditional style
-	 */
-	//public static boolean debugMiniStyle = true;
-	
-
 	private URLBuilder urlBuilder;
 	private Translator translator;
 	private Container renderContainer;
@@ -235,16 +228,20 @@ public class Renderer {
 				Container ccpar = cc.getParent();
 				while (ccpar != null) { // omit content pane
 					// find out name under which cc was registered in its parent - that is the relevant name, not the name of the component itself
-					for (Component chd: ccpar.getComponents()) {
+					Map<String,Component> namedChildren = ccpar.getComponentMap();
+					for (Iterator<String> it_chd = namedChildren.keySet().iterator(); it_chd.hasNext();) {
+						String chdName = it_chd.next();
+						Component chd = ccpar.getComponent(chdName);
 						if (chd == cc) {
 							// found -> append name
-							pathsb.append(chd.getComponentName()).append('!');
+							pathsb.append(chdName).append('!');
 							break;
 						}
 					}
 					cc = ccpar;
 					ccpar = cc.getParent();
 				}			
+				System.out.println(pathsb.toString());
 				cubu.setComponentPath(pathsb.toString());
 			}