diff --git a/src/main/java/org/olat/core/commons/modules/bc/FolderRunController.java b/src/main/java/org/olat/core/commons/modules/bc/FolderRunController.java
index 5aa1f4b4f5d6c71db7930be6ac98e319cd1667c7..c2b8b515a6f783e6bccc469692df21d9b7a7237b 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/FolderRunController.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/FolderRunController.java
@@ -438,17 +438,22 @@ public class FolderRunController extends BasicController implements Activateable
 	private void enableDisableQuota(UserRequest ureq) {
 		//prevent a timing condition if the user logout while a thumbnail is generated
 		if (ureq.getUserSession() == null || ureq.getUserSession().getRoles() == null) {
-			folderContainer.contextPut("editQuota", Boolean.FALSE);
 			return;
-		} else if (!ureq.getUserSession().getRoles().isOLATAdmin()) {
-			if (!ureq.getUserSession().getRoles().isInstitutionalResourceManager()) {
-				folderContainer.contextPut("editQuota", Boolean.FALSE);
-				return;
-			}
+		} 
+		
+		Boolean newEditQuota = Boolean.FALSE;
+		if (ureq.getUserSession().getRoles().isOLATAdmin() || ureq.getUserSession().getRoles().isInstitutionalResourceManager()) {
+			// Only sys admins or institutonal resource managers can have the quota button
+			Quota q = VFSManager.isTopLevelQuotaContainer(folderComponent.getCurrentContainer());
+			newEditQuota = (q == null)? Boolean.FALSE : Boolean.TRUE;
 		}
 
-		Quota q = VFSManager.isTopLevelQuotaContainer(folderComponent.getCurrentContainer());
-		folderContainer.contextPut("editQuota", (q == null)? Boolean.FALSE : Boolean.TRUE);
+		Boolean currentEditQuota = (Boolean) folderContainer.contextGet("editQuota");
+		// Update the container only if a new value is available or no value is set to 
+		// not make the component dirty after asynchronous thumbnail loading
+		if (currentEditQuota == null || !currentEditQuota.equals(newEditQuota)) {
+			folderContainer.contextPut("editQuota", newEditQuota);			
+		}
 	}
 	
 	/**