diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
index 468162a5ccd9292f1fa3fd2eb833218bcf74d5d6..c131de6d467f23514065fc67082ff73ac9ed818f 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
+++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
@@ -135,11 +135,17 @@ public class BaseFullWebappController extends BasicController implements Generic
 	private Panel initialPanel;
 	private DTabs myDTabsImpl;
 	private static Integer MAX_TAB;
+
+	private boolean invitee = false;
 	
 	public BaseFullWebappController(UserRequest ureq, WindowControl ouisc_wControl,
 			BaseFullWebappControllerParts baseFullWebappControllerParts) {
 		// only-use-in-super-call, since we define our own
 		super(ureq, null);
+		
+		if(ureq.getUserSession() != null && ureq.getUserSession().getRoles() != null) {
+			invitee = ureq.getUserSession().getRoles().isInvitee();
+		}
 
 		this.baseFullWebappControllerParts = baseFullWebappControllerParts;
 
@@ -1029,7 +1035,7 @@ public class BaseFullWebappController extends BasicController implements Generic
 
 	/**
 	 * 
-	 * [used by velocity
+	 * [used by velocity]
 	 * 
 	 * @return
 	 */
@@ -1037,6 +1043,17 @@ public class BaseFullWebappController extends BasicController implements Generic
 		return curDTab != null && dtab == curDTab;
 	}
 	
+	/**
+	 * Invitee have only one dynamic tab. They are not allowed
+	 * to close it.
+	 * [used by velocity]
+	 * 
+	 * @return
+	 */
+	public boolean isCanCloseDTab(DTab dtab) {
+		return !invitee && !(sites == null || sites.isEmpty());
+	}
+	
 	private void setCurrent(SiteInstance site, DTab tab) {
 		curSite = site;
 		curDTab = tab;
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html
index b285c1feedb407c0794f9cbd6590a88e9b12ff18..1cc280a37cddda334a5758ddaeff447368d596ea 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html
@@ -28,7 +28,9 @@
 	<li class="b_nav_tab b_nav_active $!navel.getIconCSSClass()">
 		<div> ## div used for tab icon
 			$r.render("a$postfix")
-			$r.render("cp$postfix")	 ## close link has class b_nav_tab_close
+			#if($tabhelper.isCanCloseDTab($dtab))
+				$r.render("cp$postfix")	 ## close link has class b_nav_tab_close
+			#end
 		</div>
 	</li>
 	#else