diff --git a/src/main/java/org/olat/modules/coach/ui/CourseController.java b/src/main/java/org/olat/modules/coach/ui/CourseController.java
index 76b42e2e8b1b6b713781d6c36f171c8c4d8f3ba5..37a82c2d10acf75eace24273e94b14e9901f3c9a 100644
--- a/src/main/java/org/olat/modules/coach/ui/CourseController.java
+++ b/src/main/java/org/olat/modules/coach/ui/CourseController.java
@@ -356,11 +356,15 @@ public class CourseController extends BasicController implements Activateable2,
 	}
 	
 	private void selectDetails(UserRequest ureq,  EfficiencyStatementEntry entry) {
-		removeAsListenerAndDispose(statementCtrl);
+		boolean selectAssessmentTool = false;
+		if(statementCtrl != null) {
+			selectAssessmentTool = statementCtrl.isAssessmentToolSelected();
+			removeAsListenerAndDispose(statementCtrl);
+		}
 
 		OLATResourceable ores = OresHelper.createOLATResourceableInstance(Identity.class, entry.getStudentKey());
 		WindowControl bwControl = addToHistory(ureq, ores, null);
-		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, entry);
+		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, entry, selectAssessmentTool);
 		listenTo(statementCtrl);
 		mainVC.put("efficiencyDetails", statementCtrl.getInitialComponent());
 		
diff --git a/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java b/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java
index 0de9ad93cc80d18cc340a958ad112ef3616c865a..e48ea77a74141fcbb322dcd10834a8d00bf6bc81 100644
--- a/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java
+++ b/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java
@@ -79,7 +79,7 @@ public class EfficiencyStatementDetailsController extends BasicController implem
 	private EfficiencyStatementManager efficiencyStatementManager;
 	
 	public EfficiencyStatementDetailsController(UserRequest ureq, WindowControl wControl,
-			EfficiencyStatementEntry statementEntry) {
+			EfficiencyStatementEntry statementEntry, boolean selectAssessmentTool) {
 		super(ureq, wControl);
 
 		mainVC = createVelocityContainer("efficiency_details");
@@ -89,9 +89,10 @@ public class EfficiencyStatementDetailsController extends BasicController implem
 		assessedIdentity = securityManager.loadIdentityByKey(statementEntry.getStudentKey());
 		statementCtrl = createEfficiencyStatementController(ureq);
 		listenTo(statementCtrl);
-		mainVC.put("segmentCmp", statementCtrl.getInitialComponent());
 		
-		if(entry != null) {
+		if(entry == null) {
+			mainVC.put("segmentCmp", statementCtrl.getInitialComponent());
+		} else {
 			try {
 				ICourse course = CourseFactory.loadCourse(entry.getOlatResource());
 				assessmentCtrl = new IdentityAssessmentEditController(wControl, ureq, null,
@@ -100,10 +101,16 @@ public class EfficiencyStatementDetailsController extends BasicController implem
 				
 				segmentView = SegmentViewFactory.createSegmentView("segments", mainVC, this);
 				efficiencyStatementLink = LinkFactory.createLink("details.statement", mainVC, this);
-				segmentView.addSegment(efficiencyStatementLink, true);
+				segmentView.addSegment(efficiencyStatementLink, !selectAssessmentTool);
 				
 				assessmentLink = LinkFactory.createLink("details.assessment", mainVC, this);
-				segmentView.addSegment(assessmentLink, false);
+				segmentView.addSegment(assessmentLink, selectAssessmentTool);
+				
+				if(selectAssessmentTool) {
+					mainVC.put("segmentCmp", assessmentCtrl.getInitialComponent());
+				} else {
+					mainVC.put("segmentCmp", statementCtrl.getInitialComponent());
+				}
 			} catch(CorruptedCourseException e) {
 				logError("", e);
 			}
@@ -116,6 +123,10 @@ public class EfficiencyStatementDetailsController extends BasicController implem
 		return statementEntry;
 	}
 	
+	public boolean isAssessmentToolSelected() {
+		return assessmentCtrl != null && assessmentCtrl.getInitialComponent() == mainVC.getComponent("segmentCmp"); 
+	}
+	
 	@Override
 	protected void doDispose() {
 		//
diff --git a/src/main/java/org/olat/modules/coach/ui/GroupController.java b/src/main/java/org/olat/modules/coach/ui/GroupController.java
index 2984f95ed2fda99d61233aa3d3951647c9663e46..a1542502486b432e70c2166d2cd5b5f16a178a42 100644
--- a/src/main/java/org/olat/modules/coach/ui/GroupController.java
+++ b/src/main/java/org/olat/modules/coach/ui/GroupController.java
@@ -341,11 +341,15 @@ public class GroupController extends BasicController implements Activateable2, G
 	}
 	
 	private void selectDetails(UserRequest ureq, EfficiencyStatementEntry statementEntry) {
-		removeAsListenerAndDispose(statementCtrl);
+		boolean selectAssessmentTool = false;
+		if(statementCtrl != null) {
+			selectAssessmentTool = statementCtrl.isAssessmentToolSelected();
+			removeAsListenerAndDispose(statementCtrl);
+		}
 		
 		OLATResourceable ores = OresHelper.createOLATResourceableInstance(Identity.class, statementEntry.getStudentKey());
 		WindowControl bwControl = addToHistory(ureq, ores, null);
-		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, statementEntry);
+		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, statementEntry, selectAssessmentTool);
 		listenTo(statementCtrl);
 		mainVC.put("efficiencyDetails", statementCtrl.getInitialComponent());
 		
diff --git a/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java b/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java
index 8186cb1d8a1c376071439a1e7d4b37492c80141e..61bfca07829be25c177c6b81b12f089741312c74 100644
--- a/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java
+++ b/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java
@@ -386,11 +386,15 @@ public class StudentCoursesController extends BasicController implements Activat
 	}
 	
 	private void selectDetails(UserRequest ureq, EfficiencyStatementEntry entry) {
-		removeAsListenerAndDispose(statementCtrl);
+		boolean selectAssessmentTool = false;
+		if(statementCtrl != null) {
+			selectAssessmentTool = statementCtrl.isAssessmentToolSelected();
+			removeAsListenerAndDispose(statementCtrl);
+		}
 		
 		OLATResourceable ores = OresHelper.createOLATResourceableInstance(RepositoryEntry.class, entry.getCourse().getKey());
 		WindowControl bwControl = addToHistory(ureq, ores, null);
-		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, entry);
+		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, entry, selectAssessmentTool);
 		listenTo(statementCtrl);
 		detailsCmp.setText(entry.getCourse().getDisplayname());
 
diff --git a/src/main/java/org/olat/modules/coach/ui/StudentOverviewController.java b/src/main/java/org/olat/modules/coach/ui/StudentOverviewController.java
index ab88fa8a4229beadef836802271e00e5c879a6a3..869a598d70f28744f059a025124aa4632c0c0dd0 100644
--- a/src/main/java/org/olat/modules/coach/ui/StudentOverviewController.java
+++ b/src/main/java/org/olat/modules/coach/ui/StudentOverviewController.java
@@ -283,13 +283,17 @@ public class StudentOverviewController extends BasicController implements Activa
 	}
 	
 	private void selectDetails(UserRequest ureq, UserEfficiencyStatement statement) {
-		removeAsListenerAndDispose(statementCtrl);
+		boolean selectAssessmentTool = false;
+		if(statementCtrl != null) {
+			selectAssessmentTool = statementCtrl.isAssessmentToolSelected();
+			removeAsListenerAndDispose(statementCtrl);
+		}
 		
 		EfficiencyStatementEntry entry = coachingService.getEfficencyStatement(statement);
 		
 		OLATResourceable ores = OresHelper.createOLATResourceableInstance(RepositoryEntry.class, statement.getCourseRepoKey());
 		WindowControl bwControl = addToHistory(ureq, ores, null);
-		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, entry);
+		statementCtrl = new EfficiencyStatementDetailsController(ureq, bwControl, entry, selectAssessmentTool);
 		listenTo(statementCtrl);
 		detailsCmp.setText(statement.getShortTitle());