diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
index fe23b8bd602129c9cda811f6ae4b9bf79ecef2a0..2d54269f507c4a90df60b178895eb11572594db5 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
+++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
@@ -918,7 +918,7 @@ public class BaseFullWebappController extends BasicController implements DTabs,
 			sb.append(Formatter.escapeDoubleQuotes(repoentryid));
 			sb.append("');");
 		}
-		sb.append("}catch(e){}");
+		sb.append("oobody=null;}catch(e){}");
 		JSCommand jsc = new JSCommand(sb.toString());
 		WindowControl wControl = getWindowControl();
 		if (wControl != null && wControl.getWindowBackOffice() != null) {
diff --git a/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java b/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
index fd134273a19b2c93aa5450cde145f10018e61e66..35f430aff60b1953cbf94bf3e25c9802e1ea4ecf 100644
--- a/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
@@ -168,7 +168,8 @@ public class MenuTreeRenderer extends DefaultComponentRenderer {
 			target.append(" active_parent");			
 		}
 		String ident = curRoot.getIdent();
-		target.append("'><div id='dd").append(ident).append("' class='o_tree_l").append(level);
+		target.append("' data-nodeid='").append(ident).append("'>");			
+		target.append("<div id='dd").append(ident).append("' class='o_tree_l").append(level);
 		if(tree.isDragEnabled() || tree.isDropEnabled()) {
 			target.append(" o_dnd_item");
 		}
diff --git a/src/main/java/org/olat/course/run/RunMainController.java b/src/main/java/org/olat/course/run/RunMainController.java
index 23077fa46c787a8d9661c705b837eda84d74fc38..f587518fdfcd11fc654683b99906b60908571055 100644
--- a/src/main/java/org/olat/course/run/RunMainController.java
+++ b/src/main/java/org/olat/course/run/RunMainController.java
@@ -55,12 +55,14 @@ import org.olat.core.gui.control.generic.messages.MessageController;
 import org.olat.core.gui.control.generic.messages.MessageUIFactory;
 import org.olat.core.gui.control.generic.textmarker.GlossaryMarkupItemController;
 import org.olat.core.gui.control.generic.title.TitledWrapperController;
+import org.olat.core.gui.control.winmgr.JSCommand;
 import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
 import org.olat.core.id.context.ContextEntry;
 import org.olat.core.id.context.StateEntry;
 import org.olat.core.logging.activity.CourseLoggingAction;
 import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
+import org.olat.core.util.Formatter;
 import org.olat.core.util.Util;
 import org.olat.core.util.coordinate.CoordinatorManager;
 import org.olat.core.util.event.GenericEventListener;
@@ -446,6 +448,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 		}
 		
 		updateNextPrevious();
+		updateCourseDataAttributes(nclr.getCalledCourseNode());
 		updateLastUsage(nclr.getCalledCourseNode());
 		return true;
 	}
@@ -458,6 +461,24 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 			}
 		}
 	}
+	
+	private void updateCourseDataAttributes(CourseNode calledCourseNode) {
+		StringBuilder sb = new StringBuilder();
+		sb.append("try {var oocourse = jQuery('.o_course_run');");
+		if (calledCourseNode == null) {
+			sb.append("oocourse.removeAttr('data-nodeid');");						
+		} else {
+			sb.append("oocourse.attr('data-nodeid','");
+			sb.append(Formatter.escapeDoubleQuotes(calledCourseNode.getIdent()));
+			sb.append("');");			
+		}
+		sb.append("oocourse=null;}catch(e){}");
+		JSCommand jsc = new JSCommand(sb.toString());
+		WindowControl wControl = getWindowControl();
+		if (wControl != null && wControl.getWindowBackOffice() != null) {
+			wControl.getWindowBackOffice().sendCommandTo(jsc);			
+		}
+	}
 
 	/**
 	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
@@ -627,7 +648,8 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 			getWindowControl().setWarning(translate("msg.nodenotavailableanymore"));
 			// go to root since the current node is no more visible 
 			updateTreeAndContent(ureq, null, null);
-			updateNextPrevious();					
+			updateNextPrevious();
+			updateCourseDataAttributes(nclr.getCalledCourseNode());
 			return;
 		}
 		// a click to a subtree's node
@@ -648,6 +670,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 				luTree.setOpenNodeIds(nclr.getOpenNodeIds());
 			}
 			updateNextPrevious();
+			updateCourseDataAttributes(nclr.getCalledCourseNode());
 			return;
 		}
 
@@ -678,6 +701,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 		}
 		
 		updateNextPrevious();
+		updateCourseDataAttributes(nclr.getCalledCourseNode());
 	}