diff --git a/projects/editor/src/app/app.component.ts b/projects/editor/src/app/app.component.ts
index 95ca2f6c011fc0c225146cb9812968be92b97375..4f11295cfa50cb084d100ce07b23ac711d192ed7 100644
--- a/projects/editor/src/app/app.component.ts
+++ b/projects/editor/src/app/app.component.ts
@@ -34,6 +34,7 @@ export class AppComponent implements OnInit {
     this.veronaApiService.startCommand
       .subscribe((message: StartCommand): void => {
         this.unitService.loadUnitDefinition(message.unitDefinition);
+        if (message.editorConfig.role === 'developer') this.unitService.allowExpertMode = false;
       });
     this.veronaApiService.sendReady();
     registerLocaleData(localeDe);
diff --git a/projects/editor/src/app/components/unit-view/unit-view.component.html b/projects/editor/src/app/components/unit-view/unit-view.component.html
index 290b3f091b0bbb98e4717de8274a73fcc084a2c7..1ac5415cb1af7e300d1ddf92799393ceee9d8572 100644
--- a/projects/editor/src/app/components/unit-view/unit-view.component.html
+++ b/projects/editor/src/app/components/unit-view/unit-view.component.html
@@ -99,7 +99,8 @@
             </button>
             <mat-menu #extrasMenu="matMenu" (click)="$event.stopPropagation()">
               <div [style.padding]="'0 20px 10px'" (click)="$event.stopPropagation()">
-                <mat-checkbox [ngModel]="unitService.expertMode" (change)="setExpertMode($event)">
+                <mat-checkbox [disabled]="!unitService.allowExpertMode"
+                              [ngModel]="unitService.expertMode" (change)="setExpertMode($event)">
                   Expertenmodus aktivieren
                 </mat-checkbox>
               </div>
diff --git a/projects/editor/src/app/services/unit-services/unit.service.ts b/projects/editor/src/app/services/unit-services/unit.service.ts
index 09169b72b530fdab69cf3cb2ad1a12b0abb5c585..ef9bb3ffaebafa217bb82237f2ff02d8ba35006f 100644
--- a/projects/editor/src/app/services/unit-services/unit.service.ts
+++ b/projects/editor/src/app/services/unit-services/unit.service.ts
@@ -36,7 +36,8 @@ export class UnitService {
   sectionCountUpdated: Subject<void> = new Subject<void>();
   referenceManager: ReferenceManager;
   savedSectionCode: string | undefined;
-  expertMode: boolean = false;
+  allowExpertMode: boolean = true;
+  expertMode: boolean = true;
 
   constructor(private selectionService: SelectionService,
               private veronaApiService: VeronaAPIService,
@@ -47,6 +48,7 @@ export class UnitService {
               private idService: IDService) {
     this.unit = new Unit();
     this.referenceManager = new ReferenceManager(this.unit);
+    this.expertMode = this.allowExpertMode;
   }
 
   loadUnitDefinition(unitDefinition: string): void {
diff --git a/projects/editor/src/app/services/verona-api.service.ts b/projects/editor/src/app/services/verona-api.service.ts
index f0068ea418e56e59ef4b4cef7e04fbf3a1c15f56..52da09c86f0a968cc889cf1d2c70d67293589f18 100644
--- a/projects/editor/src/app/services/verona-api.service.ts
+++ b/projects/editor/src/app/services/verona-api.service.ts
@@ -65,7 +65,8 @@ export interface StartCommand extends MessageEvent {
   unitDefinition: string,
   unitDefinitionType: string,
   editorConfig: {
-    directDownloadUrl: string
+    directDownloadUrl: string,
+    role: 'guest' | 'commentator' | 'developer' | 'maintainer' | 'super'; // only developer is non-expert
   }
 }