diff --git a/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java b/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java
index d2e120d673377d6cfb17a0f87b0f0fc349782bd2..140e6d43dd81fbad1f28dd5d8f74f9808734069b 100644
--- a/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java
+++ b/olat3/webapp/WEB-INF/src/org/olat/portfolio/ui/structel/edit/EPTOCController.java
@@ -277,7 +277,7 @@ public class EPTOCController extends BasicController {
 					// refresh the view
 					fireEvent(ureq, Event.CHANGED_EVENT);
 				} else if (structureClicked != null) {
-					if ((structureClicked instanceof EPPage || structureClicked instanceof EPStructureElement)
+					if ((structureClicked instanceof EPPage)
 							&& !(structureClicked instanceof EPAbstractMap)) {
 						PortfolioStructure ps = structureClicked;
 						while (ePFMgr.loadStructureParent(ps) != null) {
@@ -291,6 +291,12 @@ public class EPTOCController extends BasicController {
 						} else {
 							showError("last.page.not.deletable");
 						}
+					} else if(structureClicked instanceof EPStructureElement 
+							&& !(structureClicked instanceof EPAbstractMap)) {
+						//structures should always be deletable
+						eSTMgr.removeStructureRecursively(structureClicked);
+						// refresh the view
+						fireEvent(ureq, Event.CHANGED_EVENT);
 					} else {
 						showInfo("element.not.deletable");
 					}