diff --git a/src/main/java/org/olat/core/gui/components/stack/BreadcrumbedStackedPanel.java b/src/main/java/org/olat/core/gui/components/stack/BreadcrumbedStackedPanel.java
index bc9b85032a0c122a8789a40b870151ca79c8d530..6a75826910b46e593f912649cfd8111b1fafb5b4 100644
--- a/src/main/java/org/olat/core/gui/components/stack/BreadcrumbedStackedPanel.java
+++ b/src/main/java/org/olat/core/gui/components/stack/BreadcrumbedStackedPanel.java
@@ -589,6 +589,7 @@ public class BreadcrumbedStackedPanel extends Panel implements BreadcrumbPanel,
 			// special case: root crumb
 			Link link = stack.get(0);
 			String unescapedText = StringHelper.unescapeHtml(link.getCustomDisplayText());
+			unescapedText = StringHelper.xssScan(unescapedText);
 			closeText = getTranslator().translate("doclose", new String[] { unescapedText });
 			showClose = isShowCloseLinkForRootCrumb();
 			backLink.setTitle(closeText);
@@ -596,6 +597,7 @@ public class BreadcrumbedStackedPanel extends Panel implements BreadcrumbPanel,
 		} else {
 			Link link = stack.get(stack.size()-1);
 			String unescapedText = StringHelper.unescapeHtml(link.getCustomDisplayText());
+			unescapedText = StringHelper.xssScan(unescapedText);
 			closeText = getTranslator().translate("doclose", new String[] { unescapedText });
 			showClose = isShowCloseLink();
 			backLink.setTitle(getTranslator().translate("back"));