diff --git a/src/main/java/org/olat/core/gui/components/stack/BreadcrumbPanel.java b/src/main/java/org/olat/core/gui/components/stack/BreadcrumbPanel.java
index 61cd584c69c946e5c53a5d2acf538d25fca31b72..b39e624031f7077fe0bcb031913f3dd940b19aa6 100644
--- a/src/main/java/org/olat/core/gui/components/stack/BreadcrumbPanel.java
+++ b/src/main/java/org/olat/core/gui/components/stack/BreadcrumbPanel.java
@@ -36,6 +36,11 @@ public interface BreadcrumbPanel extends StackedPanel {
 	 */
 	public void rootController(String displayName, Controller controller);
 	
+	/**
+	 * @return The first controller of the stack.
+	 */
+	public Controller getRootController();
+	
 	/**
 	 * Dissmiss all controllers but the root
 	 */
@@ -43,8 +48,12 @@ public interface BreadcrumbPanel extends StackedPanel {
 	
 	public void pushController(String displayName, Controller controller);
 	
-	
-	public void popUpToController(Controller controller);
+	/**
+	 * 
+	 * @param controller
+	 * @return true if the controller has been found
+	 */
+	public boolean popUpToController(Controller controller);
 	
 	/**
 	 * Remove and dispose the specified controller and all
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 a516d324de5c7bf8b119c69f03aabc548c9226bb..5d85bdf4363a96099fc10b66e178db4bad90ccbe 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
@@ -201,6 +201,16 @@ public class BreadcrumbedStackedPanel extends Panel implements StackedPanel, Bre
 		BusinessControlFactory.getInstance().addToHistory(ureq, wControl);
 	}
 	
+	public Controller getRootController() {
+		Controller controller = null;
+		if(stack.size() > 0) {
+			Link lastPath = stack.get(0);
+			BreadCrumb crumb = (BreadCrumb)lastPath.getUserObject();
+			controller = crumb.getController();
+		}
+		return controller;
+	}
+	
 	public Controller getLastController() {
 		Controller controller = null;
 		if(stack.size() > 0) {
@@ -221,7 +231,7 @@ public class BreadcrumbedStackedPanel extends Panel implements StackedPanel, Bre
 	}
 
 	@Override
-	public void popUpToController(Controller controller) {
+	public boolean popUpToController(Controller controller) {
 		int index = getIndex(controller);
 		if(index > 0 && index < stack.size() - 1) {
 			BreadCrumb popedCrumb = null;
@@ -235,10 +245,10 @@ public class BreadcrumbedStackedPanel extends Panel implements StackedPanel, Bre
 			BreadCrumb crumb  = (BreadCrumb)currentLink.getUserObject();
 			setContent(crumb.getController());
 			updateCloseLinkTitle();
+			return true;
 		}
+		return false;
 	}
-	
-	
 
 	@Override
 	public void popController(Controller controller) {
diff --git a/src/main/java/org/olat/modules/portfolio/ui/BinderController.java b/src/main/java/org/olat/modules/portfolio/ui/BinderController.java
index 3a2966b558c55468731d57318ac148f9b5f55091..070c446166691d57eabb0f2b1dc218102842bf66 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/BinderController.java
+++ b/src/main/java/org/olat/modules/portfolio/ui/BinderController.java
@@ -26,6 +26,7 @@ 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.panel.SimpleStackedPanel;
+import org.olat.core.gui.components.panel.StackedPanel;
 import org.olat.core.gui.components.stack.ButtonGroupComponent;
 import org.olat.core.gui.components.stack.PopEvent;
 import org.olat.core.gui.components.stack.TooledController;
@@ -55,6 +56,7 @@ public class BinderController extends BasicController implements TooledControlle
 	private final ButtonGroupComponent segmentButtonsCmp;
 	private final TooledStackedPanel stackPanel;
 	private Link editBinderMetadataLink;
+	private StackedPanel mainPanel;
 	
 	private PublishController publishCtrl;
 	private TableOfContentController overviewCtrl;
@@ -86,7 +88,11 @@ public class BinderController extends BasicController implements TooledControlle
 		}
 		
 		stackPanel.addListener(this);
-		putInitialPanel(new SimpleStackedPanel("portfolioSegments"));
+		mainPanel = putInitialPanel(new SimpleStackedPanel("portfolioSegments"));
+		
+		overviewCtrl = new TableOfContentController(ureq, getWindowControl(), stackPanel, secCallback, binder, config);
+		listenTo(overviewCtrl);
+		mainPanel.setContent(overviewCtrl.getInitialComponent());
 	}
 
 	@Override
@@ -103,7 +109,7 @@ public class BinderController extends BasicController implements TooledControlle
 	@Override
 	public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
 		if(entries == null || entries.isEmpty()) {
-			doOpenOverview(ureq);
+			//
 		}
 	}
 
@@ -141,29 +147,34 @@ public class BinderController extends BasicController implements TooledControlle
 		}
 	}
 	
+	private void popUpToBinderController(UserRequest ureq) {
+		if(stackPanel.getRootController() == this) {
+			stackPanel.popUpToRootController(ureq);
+		} else {
+			stackPanel.popUpToController(this);
+		}
+	}
+	
 	private void doOpenEntries(UserRequest ureq) {
 		entriesCtrl = new BinderPageListController(ureq, getWindowControl(), stackPanel, secCallback, binder, config);
 		listenTo(entriesCtrl);
 
-		stackPanel.popUpToController(this);
+		popUpToBinderController(ureq);
 		stackPanel.pushController(translate("portfolio.entries"), entriesCtrl);
 		segmentButtonsCmp.setSelectedButton(entriesLink);
 	}
 	
 	private void doOpenOverview(UserRequest ureq) {
-		overviewCtrl = new TableOfContentController(ureq, getWindowControl(), stackPanel, secCallback, binder, config);
-		listenTo(overviewCtrl);
-
-		stackPanel.popUpToController(this);
-		stackPanel.pushController(translate("portfolio.overview"), overviewCtrl);
+		popUpToBinderController(ureq);
 		segmentButtonsCmp.setSelectedButton(overviewLink);
+		mainPanel.setContent(overviewCtrl.getInitialComponent());
 	}
 	
 	private void doOpenPublish(UserRequest ureq) {
 		publishCtrl = new PublishController(ureq, getWindowControl(), stackPanel, secCallback, binder, config);
 		listenTo(publishCtrl);
-		
-		stackPanel.popUpToController(this);
+
+		popUpToBinderController(ureq);
 		stackPanel.pushController(translate("portfolio.publish"), publishCtrl);
 		segmentButtonsCmp.setSelectedButton(publishLink);
 	}
@@ -171,8 +182,8 @@ public class BinderController extends BasicController implements TooledControlle
 	private void doOpenAssessment(UserRequest ureq) {
 		assessmentCtrl = new BinderAssessmentController(ureq, getWindowControl(), secCallback, binder, config);
 		listenTo(assessmentCtrl);
-		
-		stackPanel.popUpToController(this);
+
+		popUpToBinderController(ureq);
 		stackPanel.pushController(translate("portfolio.assessment"), assessmentCtrl);
 		segmentButtonsCmp.setSelectedButton(assessmentLink);
 	}