diff --git a/docs/booklet-config.md b/docs/booklet-config.md
index 45c171e26814e0d5bbb0634392798af981c4c041..c23d6d6d7b744f62adaf4a036996fc1dc0a460d7 100644
--- a/docs/booklet-config.md
+++ b/docs/booklet-config.md
@@ -63,8 +63,8 @@ Navigationsbuttons für die Navigation zwischen den Aufgaben
 
 #### `unit_menu`
 Extra-Seite mit großen Buttons für Aufgaben zum direkten Springen
-  * "OFF": Ausgeschaltet
-  * "ENABLED_ONLY" (default): Eingeschaltet - nur die Aufgaben anzeigen, die noch freigegeben sind
+  * "OFF" (default): Ausgeschaltet
+  * "ENABLED_ONLY": Eingeschaltet - nur die Aufgaben anzeigen, die noch freigegeben sind
   * "FULL": Eingeschaltet - auch die Aufgaben anzeigen, die nicht mehr freigegeben sind (gegraut)
 
 #### `force_presentation_complete`
@@ -90,3 +90,8 @@ Legt fest, ob im obersten Seitenbereich Platz für Logo, Navigations-Buttons u.
 Festlegung, ob oberhalb des Unitbereiches eine Zeile mit dem Unit-Titel gezeigt werden soll
   * "OFF": Keine Titelzeile
   * "ON" (default): Eine Zeile wird eingeblendet mit dem Unit-Titel (s. Booklet-XML).
+
+#### `unit_show_time_left`
+Festlegung, ob im obersten Seitenbereich bei einer festgelegten Maximalzeit für einen Testbereich die verbleibende Zeit angezeigt wird.
+  * "OFF" (default): Die verbleibende Zeit wird nicht angezeigt.
+  * "ON": Die verbleibende Zeit wird angezeigt.
diff --git a/src/app/config/booklet-config.json b/src/app/config/booklet-config.json
index 937c581115f071b83eef0f554f29fb7b197969ab..aa9df76e21bedd60e1fb2818940e6f199c264c64 100644
--- a/src/app/config/booklet-config.json
+++ b/src/app/config/booklet-config.json
@@ -42,7 +42,7 @@
       "ENABLED_ONLY": "Eingeschaltet - nur die Aufgaben anzeigen, die noch freigegeben sind",
       "FULL": "Eingeschaltet - auch die Aufgaben anzeigen, die nicht mehr freigegeben sind (gegraut)"
     },
-    "defaultvalue": "ENABLED_ONLY"
+    "defaultvalue": "OFF"
   },
   "force_presentation_complete": {
     "label": "Verhalten, wenn noch nicht alle Elemente der Aufgabe angezeigt wurden",
diff --git a/src/app/config/booklet-config.ts b/src/app/config/booklet-config.ts
index cd2018d8457bc07818dd02f9af1cb6aafd492be2..86e40c63e19fcba55ffe54affa24418fc414f68e 100644
--- a/src/app/config/booklet-config.ts
+++ b/src/app/config/booklet-config.ts
@@ -6,11 +6,12 @@ export class BookletConfig {
 	log_mode: "OFF" | "LEAN" | "RICH" = "RICH";
 	page_navibuttons: "OFF" | "MERGED" | "SEPARATE_TOP" | "SEPARATE_BOTTOM" = "SEPARATE_BOTTOM";
 	unit_navibuttons: "OFF" | "ARROWS_ONLY" | "FULL" = "FULL";
-	unit_menu: "OFF" | "ENABLED_ONLY" | "FULL" = "ENABLED_ONLY";
+	unit_menu: "OFF" | "ENABLED_ONLY" | "FULL" = "OFF";
 	force_presentation_complete: "OFF" | "ON" = "OFF";
 	force_responses_complete: "OFF" | "SOME" | "COMPLETE" | "COMPLETE_AND_VALID" = "OFF";
 	unit_screenheader: "OFF" | "WITH_UNIT_TITLE" | "WITH_BOOKLET_TITLE" | "EMPTY" = "EMPTY";
 	unit_title: "OFF" | "ON" = "ON";
+	unit_show_time_left: "OFF" | "ON" = "OFF";
 
 	public setFromKeyValuePairs(config) {
 		if (config) {
@@ -23,6 +24,7 @@ export class BookletConfig {
 			if (config['force_responses_complete']) { this.force_responses_complete = config['force_responses_complete']}
 			if (config['unit_screenheader']) { this.unit_screenheader = config['unit_screenheader']}
 			if (config['unit_title']) { this.unit_title = config['unit_title']}
+			if (config['unit_show_time_left']) { this.unit_show_time_left = config['unit_show_time_left']}
 		}
 	}
 
@@ -60,6 +62,9 @@ export class BookletConfig {
 					case 'unit_title':
 						this.unit_title = configValue;
 						break;
+					case 'unit_show_time_left':
+						this.unit_show_time_left = configValue;
+						break;
 				}
 			}
 		}
diff --git a/src/app/test-controller/start-lock-input/start-lock-input.component.css b/src/app/test-controller/start-lock-input/start-lock-input.component.css
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/app/test-controller/start-lock-input/start-lock-input.component.html b/src/app/test-controller/start-lock-input/start-lock-input.component.html
deleted file mode 100644
index 9ea0607ec42b2c3a4c1f023d41d5ff3285e659c6..0000000000000000000000000000000000000000
--- a/src/app/test-controller/start-lock-input/start-lock-input.component.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<form #matform [formGroup]="startkeyform" fxLayout="column">
-  <h1 mat-dialog-title>{{ data.title }}</h1>
-
-  <mat-dialog-content>
-    <p>{{ data.prompt }}</p>
-    <mat-form-field *ngFor="let c of data.codes" fxLayout="column">
-      <label>{{ c.prompt }}
-        <input matInput [formControlName]="c.testletId">
-      </label>
-    </mat-form-field>
-  </mat-dialog-content>
-
-  <mat-dialog-actions>
-    <button mat-raised-button color="primary"
-            [disabled]="!startkeyform.valid"
-            type="submit"
-            [mat-dialog-close]="startkeyform.value">Weiter</button>
-    <button mat-raised-button [mat-dialog-close]="false">Abbrechen</button>
-  </mat-dialog-actions>
-</form>
diff --git a/src/app/test-controller/start-lock-input/start-lock-input.component.spec.ts b/src/app/test-controller/start-lock-input/start-lock-input.component.spec.ts
deleted file mode 100644
index af6a17e5e687dae7fea85c7c3812316de6def0ee..0000000000000000000000000000000000000000
--- a/src/app/test-controller/start-lock-input/start-lock-input.component.spec.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { StartLockInputComponent } from './start-lock-input.component';
-import {ReactiveFormsModule} from "@angular/forms";
-import {MAT_DIALOG_DATA, MatDialog, MatDialogModule, MatDialogRef} from "@angular/material/dialog";
-import {StartLockData} from "../test-controller.interfaces";
-import {MatInputModule} from "@angular/material/input";
-import {MatFormFieldModule} from "@angular/material/form-field";
-import {MatIconModule} from "@angular/material/icon";
-import {NoopAnimationsModule} from "@angular/platform-browser/animations";
-
-describe('StartLockInputComponent', () => {
-  let component: StartLockInputComponent;
-  let fixture: ComponentFixture<StartLockInputComponent>;
-
-  beforeEach(async(() => {
-    const matDialogRefStub = {};
-    const matDialogDataStub = <StartLockData>{
-      title: 'title',
-      prompt: 'prompt',
-      codes: [
-        {
-          testletId: 'testletA',
-          prompt: 'promptA',
-          code: 'codeA',
-          value: 'valueA'
-        },
-        {
-          testletId: 'testletB',
-          prompt: 'promptB',
-          code: 'codeB',
-          value: 'valueB'
-        }
-      ]
-    };
-    TestBed.configureTestingModule({
-      declarations: [ StartLockInputComponent ],
-      imports: [
-        MatDialogModule,
-        ReactiveFormsModule,
-        MatInputModule,
-        MatFormFieldModule,
-        MatIconModule,
-        NoopAnimationsModule
-      ],
-      providers: [
-        MatDialog,
-        { provide: MatDialogRef, useValue: matDialogRefStub },
-        { provide: MAT_DIALOG_DATA, useValue: matDialogDataStub }
-      ]
-    })
-    .compileComponents();
-  }));
-
-  beforeEach(() => {
-    fixture = TestBed.createComponent(StartLockInputComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/src/app/test-controller/start-lock-input/start-lock-input.component.ts b/src/app/test-controller/start-lock-input/start-lock-input.component.ts
deleted file mode 100644
index 3a79ffa1e0b6e99a051b114f29ac78e3932655c2..0000000000000000000000000000000000000000
--- a/src/app/test-controller/start-lock-input/start-lock-input.component.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import {Component, Inject} from '@angular/core';
-import {MAT_DIALOG_DATA} from '@angular/material/dialog';
-import {FormControl, FormGroup, Validators} from '@angular/forms';
-import {StartLockData} from '../test-controller.interfaces';
-
-@Component({
-  templateUrl: './start-lock-input.component.html',
-  styleUrls: ['./start-lock-input.component.css']
-})
-export class StartLockInputComponent {
-  startkeyform: FormGroup;
-
-  constructor(
-    @Inject(MAT_DIALOG_DATA) public data: StartLockData
-  ) {
-    const myFormControls = {};
-    this.data.codes.forEach(c => {
-      myFormControls[c.testletId] = new FormControl(c.value, [Validators.required, Validators.minLength(3)]);
-    });
-    this.startkeyform = new FormGroup(myFormControls);
-  }
-}
diff --git a/src/app/test-controller/test-controller.component.ts b/src/app/test-controller/test-controller.component.ts
index 26bc0389bb59691fa785ac982731401474de590a..5d4ba1cb24c3cf91afd76be589d1eda14107365a 100644
--- a/src/app/test-controller/test-controller.component.ts
+++ b/src/app/test-controller/test-controller.component.ts
@@ -411,7 +411,6 @@ export class TestControllerComponent implements OnInit, OnDestroy {
               });
             } else {
               this.tcs.testMode = new TestMode(testData.mode);
-console.log(this.tcs.testMode);
               let navTarget = 1;
               if (testData.laststate !== null) {
                 if (testData.laststate.hasOwnProperty(LastStateKey.LASTUNIT)) {
diff --git a/src/app/test-controller/test-controller.module.ts b/src/app/test-controller/test-controller.module.ts
index 3d7d1b3c29297123f4f5b3aca147346e6b2522ea..7cf1964b9a708edc30ef7fcd873d56948eb359ba 100644
--- a/src/app/test-controller/test-controller.module.ts
+++ b/src/app/test-controller/test-controller.module.ts
@@ -11,7 +11,6 @@ import {unitRouteGuards} from './unithost/unit-route-guards';
 import {FlexLayoutModule} from '@angular/flex-layout';
 import {ReviewDialogComponent} from './review-dialog/review-dialog.component';
 import {ReactiveFormsModule} from '@angular/forms';
-import {StartLockInputComponent} from './start-lock-input/start-lock-input.component';
 import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
 import {MatTooltipModule} from '@angular/material/tooltip';
 import {MatSnackBarModule} from '@angular/material/snack-bar';
@@ -58,14 +57,12 @@ import {testControllerRouteGuards} from "./test-controller-route-guards";
     UnithostComponent,
     TestControllerComponent,
     ReviewDialogComponent,
-    StartLockInputComponent,
     TestStatusComponent,
     UnlockInputComponent,
     UnitMenuComponent,
   ],
   entryComponents: [
-    ReviewDialogComponent,
-    StartLockInputComponent
+    ReviewDialogComponent
   ],
   providers: [
     unitRouteGuards,
diff --git a/src/app/test-controller/test-controller.service.ts b/src/app/test-controller/test-controller.service.ts
index 89832f18a88b82b461b4cd20a78327a9a7281bf8..3fec901e0d98ee8a8c7c12101e6037ea0843646b 100644
--- a/src/app/test-controller/test-controller.service.ts
+++ b/src/app/test-controller/test-controller.service.ts
@@ -219,8 +219,6 @@ export class TestControllerService {
     } else if (this.unitPresentationCompleteStates[unitSequenceId] === 'some' && presentationProgress === 'complete'){
       this.unitPresentationCompleteStates[unitSequenceId] = presentationProgress;
     }
-
-    console.log(this.unitPresentationCompleteStates);
     if (this.testMode.saveResponses) {
       // TODO prove if state change can be logged to save calls
       this.addUnitLog(unitDbKey, LogEntryKey.PRESENTATIONCOMPLETE, presentationProgress);
diff --git a/src/app/test-controller/test-status/test-status.component.html b/src/app/test-controller/test-status/test-status.component.html
index a442064eb31879d3d00a18d38a4de575ae0aa053..88cb341407b6cca3842efa099a7edd04727d3a2d 100644
--- a/src/app/test-controller/test-status/test-status.component.html
+++ b/src/app/test-controller/test-status/test-status.component.html
@@ -2,7 +2,7 @@
   <div fxLayout="row wrap" fxLayoutAlign="center stretch">
 
     <mat-card fxFlex="0 0 400px" fxLayout="column" class="mat-card-gray"
-              *ngIf="((tcs.testStatus$ | async) === tcs.testStatusEnum.ERROR) || ((tcs.testStatus$ | async) === tcs.testStatusEnum.PAUSED)">
+              *ngIf="((tcs.testStatus$ | async) === tcs.testStatusEnum.ERROR) || ((tcs.testStatus$ | async) === tcs.testStatusEnum.PAUSED) || ((tcs.testStatus$ | async) === tcs.testStatusEnum.RUNNING)">
       <mat-card-title>{{ tcs.rootTestlet?.title }}</mat-card-title>
       <mat-card-content>
         <p><b>Angemeldet als "{{loginName}}"</b></p>
@@ -13,6 +13,9 @@
         <p *ngIf="(tcs.testStatus$ | async) === tcs.testStatusEnum.PAUSED" style="color: chocolate">
           <b>{{ 'Testpause' | customtext:'booklet_pausedmessage':cts.updateCount }} </b>
         </p>
+        <p *ngIf="(tcs.testStatus$ | async) === tcs.testStatusEnum.RUNNING" style="color: chocolate">
+          <b>Der Test ist aktiv.</b>
+        </p>
       </mat-card-content>
       <mat-card-actions>
         <button mat-raised-button color="primary" (click)="terminateTest()">
diff --git a/src/app/test-controller/unithost/unit-route-guards.ts b/src/app/test-controller/unithost/unit-route-guards.ts
index 4ebacef56dbc0f872540a3e21976bb0ec66f9f99..681e300fded80b25dbabb59fe7a753c67cc00bbd 100644
--- a/src/app/test-controller/unithost/unit-route-guards.ts
+++ b/src/app/test-controller/unithost/unit-route-guards.ts
@@ -283,7 +283,6 @@ export class UnitDeactivateGuard implements CanDeactivate<UnithostComponent> {
                 myreturn = false;
               }
             }
-            console.log('checking ' + checkUnitSequenceId.toString() + ': ' + myreturn);
             checkUnitSequenceId -= 1;
           }
           if (myreturn) {