diff --git a/src/main/java/org/olat/course/editor/EditorMainController.java b/src/main/java/org/olat/course/editor/EditorMainController.java
index 57eab981ec203c484eaa9e82c216fc81e3d3ad9e..97d97e46243a1dd002097c532f6307ee41462fa2 100644
--- a/src/main/java/org/olat/course/editor/EditorMainController.java
+++ b/src/main/java/org/olat/course/editor/EditorMainController.java
@@ -199,13 +199,6 @@ public class EditorMainController extends MainLayoutBasicController implements G
 	@Autowired
 	private AssessmentModeManager assessmentModeMgr;
 	
-	/**
-	 * Constructor for the course editor controller
-	 * 
-	 * @param ureq The user request
-	 * @param wControl The window controller
-	 * @param course The course
-	 */
 	public EditorMainController(UserRequest ureq, WindowControl wControl, TooledStackedPanel toolbar, ICourse course, CourseNode selectedNode) {
 		super(ureq,wControl);
 		this.ores = OresHelper.clone(course);	
@@ -364,10 +357,6 @@ public class EditorMainController extends MainLayoutBasicController implements G
 		return immediateClose;
 	}
 
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
-	 *      org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
-	 */
 	@Override
 	public void event(UserRequest ureq, Component source, Event event) {
 		try {
@@ -684,8 +673,6 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			} else if (event == Event.CANCELLED_EVENT) {
 				// user canceled						
 			}
-			
-			//aggressive clean-up
 			cleanUp();
 		} else if (source == deleteDialogController){
 			removeAsListenerAndDispose(deleteDialogController);
@@ -721,6 +708,12 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			removeAsListenerAndDispose(alternateCtr);
 			cmc = null;
 			alternateCtr = null;
+		} else if (source == overviewCtrl) {
+			if (event instanceof SelectEvent) {
+				SelectEvent se = (SelectEvent)event;
+				doOpenNode(ureq, se.getCourseNode());
+				cleanUp();
+			}
 		}
     } catch (RuntimeException e) {
 			log.warn(RELEASE_LOCK_AT_CATCH_EXCEPTION+" [in event(UserRequest,Controller,Event)]", e);			
@@ -728,14 +721,12 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			throw e;
 		}
 	}
-	
-	/**
-	 * Aggressive clean-up of popup controllers
-	 */
+
 	private void cleanUp() {
 		removeAsListenerAndDispose(moveCopyController);
 		removeAsListenerAndDispose(multiSPChooserCtr);
 		removeAsListenerAndDispose(chooseNodeTypeCtr);
+		removeAsListenerAndDispose(overviewCtrl);
 		removeAsListenerAndDispose(alternateCtr);
 		removeAsListenerAndDispose(calloutCtrl);
 		removeAsListenerAndDispose(statusCtr);
@@ -743,6 +734,7 @@ public class EditorMainController extends MainLayoutBasicController implements G
 		moveCopyController = null;
 		chooseNodeTypeCtr = null;
 		multiSPChooserCtr = null;
+		overviewCtrl = null;
 		alternateCtr = null;
 		calloutCtrl = null;
 		statusCtr = null;
@@ -768,6 +760,16 @@ public class EditorMainController extends MainLayoutBasicController implements G
 		}
 	}
 	
+	private void doOpenNode(UserRequest ureq, CourseNode courseNode) {
+		TreeNode selectedNode = menuTree.getTreeModel().getNodeById(courseNode.getIdent());
+		if (selectedNode != null) {
+			stackPanel.popUpToController(this);
+			
+			menuTree.setSelectedNodeId(selectedNode.getIdent());
+			updateViewForSelectedNodeId(ureq, selectedNode.getIdent());
+		}
+	}
+	
 	private void doMove(UserRequest ureq, ICourse course, boolean copy) {
 		if(guardModalController(moveCopyController)) return;
 		
@@ -1234,9 +1236,6 @@ public class EditorMainController extends MainLayoutBasicController implements G
 		}
 	}
 
-	/**
-	 * @see org.olat.core.util.event.GenericEventListener#event(org.olat.core.gui.control.Event)
-	 */
 	@Override
 	public void event(Event event) {
 	  try {
diff --git a/src/main/java/org/olat/course/editor/SelectEvent.java b/src/main/java/org/olat/course/editor/SelectEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..80fc890dc8c37e68a71c08ad61cf605b38af03ba
--- /dev/null
+++ b/src/main/java/org/olat/course/editor/SelectEvent.java
@@ -0,0 +1,46 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.course.editor;
+
+import org.olat.core.gui.control.Event;
+import org.olat.course.nodes.CourseNode;
+
+/**
+ * 
+ * Initial date: 22 Jan 2020<br>
+ * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
+ *
+ */
+public class SelectEvent extends Event {
+
+	private static final long serialVersionUID = 5560638620656756047L;
+
+	private final CourseNode courseNode;
+
+	public SelectEvent(CourseNode courseNode) {
+		super("select-edit-node");
+		this.courseNode = courseNode;
+	}
+
+	public CourseNode getCourseNode() {
+		return courseNode;
+	}
+	
+}
diff --git a/src/main/java/org/olat/course/editor/overview/OverviewController.java b/src/main/java/org/olat/course/editor/overview/OverviewController.java
index f80f9d2bd9aa73b7b4cd0e5cc639caca86b1ded7..73c5a4d9e492d813f78225b61d084a67f07fa14e 100644
--- a/src/main/java/org/olat/course/editor/overview/OverviewController.java
+++ b/src/main/java/org/olat/course/editor/overview/OverviewController.java
@@ -23,6 +23,7 @@ import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.panel.SimpleStackedPanel;
 import org.olat.core.gui.components.panel.StackedPanel;
+import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.controller.BasicController;
@@ -47,6 +48,14 @@ public class OverviewController extends BasicController {
 		initialPanel.setContent(overviewListCtrl.getInitialComponent());
 	}
 
+	@Override
+	protected void event(UserRequest ureq, Controller source, Event event) {
+		if (source == overviewListCtrl) {
+			fireEvent(ureq, event);
+		}
+		super.event(ureq, source, event);
+	}
+
 	@Override
 	protected void event(UserRequest ureq, Component source, Event event) {
 		//
diff --git a/src/main/java/org/olat/course/editor/overview/OverviewListController.java b/src/main/java/org/olat/course/editor/overview/OverviewListController.java
index f667a545e18f8c399426955bd0b3c1faef89a97f..ed29b752a7b5e6a302afc3c12fda2a8dcfae1ed6 100644
--- a/src/main/java/org/olat/course/editor/overview/OverviewListController.java
+++ b/src/main/java/org/olat/course/editor/overview/OverviewListController.java
@@ -37,6 +37,7 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFle
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.TextFlexiCellRenderer;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.TreeNodeFlexiCellRenderer;
 import org.olat.core.gui.components.link.Link;
@@ -51,6 +52,7 @@ import org.olat.course.ICourse;
 import org.olat.course.assessment.IndentedNodeRenderer;
 import org.olat.course.editor.EditorMainController;
 import org.olat.course.editor.NodeEditController;
+import org.olat.course.editor.SelectEvent;
 import org.olat.course.editor.overview.OverviewDataModel.OverviewCols;
 import org.olat.course.learningpath.FullyAssessedTrigger;
 import org.olat.course.learningpath.LearningPathConfigs;
@@ -72,6 +74,8 @@ import org.springframework.beans.factory.annotation.Autowired;
  */
 public class OverviewListController extends FormBasicController {
 	
+	private static final String CMD_OPEN = "open";
+	
 	private FlexiTableElement tableEl;
 	private OverviewDataModel dataModel;
 	private FormLink bulkLink;
@@ -107,7 +111,9 @@ public class OverviewListController extends FormBasicController {
 		IndentedNodeRenderer intendedNodeRenderer = new IndentedNodeRenderer();
 		intendedNodeRenderer.setIndentationEnabled(false);
 		FlexiCellRenderer nodeRenderer = new TreeNodeFlexiCellRenderer(intendedNodeRenderer);
-		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(OverviewCols.node, nodeRenderer));
+		DefaultFlexiColumnModel nodeModel = new DefaultFlexiColumnModel(OverviewCols.node, CMD_OPEN, nodeRenderer);
+		nodeModel.setAlwaysVisible(true);
+		columnsModel.addFlexiColumnModel(nodeModel);
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(OverviewCols.shortTitle));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(OverviewCols.longTitle));
 		DefaultFlexiColumnModel learningObjectivesModel = new DefaultFlexiColumnModel(OverviewCols.learningObjectives);
@@ -264,7 +270,16 @@ public class OverviewListController extends FormBasicController {
 	
 	@Override
 	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
-		if (source == bulkLink) {
+		if (tableEl == source) {
+			if (event instanceof SelectionEvent) {
+				SelectionEvent se = (SelectionEvent)event;
+				String cmd = se.getCommand();
+				OverviewRow row = dataModel.getObject(se.getIndex());
+				if (CMD_OPEN.equals(cmd)) {
+					fireEvent(ureq, new SelectEvent(row.getCourseNode()));
+				}
+			}
+		} else if (source == bulkLink) {
 			doBulk(ureq);
 		}
 		super.formInnerEvent(ureq, source, event);