diff --git a/alfa-client/libs/admin-settings/src/lib/admin-settings.module.ts b/alfa-client/libs/admin-settings/src/lib/admin-settings.module.ts
index 6c214a3f3e8547de00d5fe8b2b936923dbbad461..414a929008988e7cddd1dff320d5c941f3fc1d4a 100644
--- a/alfa-client/libs/admin-settings/src/lib/admin-settings.module.ts
+++ b/alfa-client/libs/admin-settings/src/lib/admin-settings.module.ts
@@ -22,6 +22,7 @@ import KcAdminClient from '@keycloak/keycloak-admin-client';
 import { Environment, ENVIRONMENT_CONFIG } from '@alfa-client/environment-shared';
 import { MoreMenuComponent } from './shared/more-menu/more-menu.component';
 import { MoreItemButtonComponent } from './shared/more-menu/more-item-button/more-item-button.component';
+import { SpinnerComponent } from './shared/spinner/spinner.component';
 
 @NgModule({
   declarations: [
@@ -39,6 +40,7 @@ import { MoreItemButtonComponent } from './shared/more-menu/more-item-button/mor
     OrganisationseinheitListComponent,
     MoreMenuComponent,
     MoreItemButtonComponent,
+    SpinnerComponent,
   ],
   imports: [CommonModule, TechSharedModule, RouterModule, ReactiveFormsModule],
   exports: [
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.html b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.html
index a8dbd91dd0c34613866a83772febff81586bb214..dbc6d9eddd9d63fb982da496a7a4636210670ce8 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.html
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.html
@@ -11,10 +11,14 @@
   label="Neue Organisationseinheit anlegen"
 >
 </admin-secondary-button>
+<admin-spinner
+  data-test-id="organisationseinheit-spinner"
+  *ngIf="deleteInProgress$ | async"
+></admin-spinner>
 
 <admin-organisationseinheit-list
   [organisationseinheitItems]="organisationseinheitItems$ | async"
-  (editOrganisationseinheit)="editOrganisationseinheit($event)"
-  (deleteOrganisationseinheit)="deleteOrganisationseinheit($event)"
+  (editOrganisationseinheit)="edit($event)"
+  (deleteOrganisationseinheit)="delete($event)"
   data-test-id="organisationseinheit-list"
 ></admin-organisationseinheit-list>
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts
index 11a772a0362ad94dfc0eb5e18bfcd8e19ec674ff..d3fa21ecfe2155198424070bcfb43fe74f1fec40 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts
@@ -6,9 +6,11 @@ import { SecondaryButtonComponent } from '../../shared/secondary-button/secondar
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import {
   dispatchEventFromFixture,
+  existsAsHtmlElement,
   getElementFromFixtureByType,
   mock,
   Mock,
+  notExistsAsHtmlElement,
 } from '@alfa-client/test-utils';
 import { OrganisationseinheitListComponent } from './organisationseinheit-list/organisationseinheit-list.component';
 import { UserService } from '../../user/user.service';
@@ -18,6 +20,8 @@ import {
   createOrganisationseinheitState,
 } from '../../../../test/keycloak/keycloak';
 import { Organisationseinheit } from '../../user/user.model';
+import { singleCold } from '../../../../../tech-shared/src/lib/resource/marbles';
+import { SpinnerComponent } from '../../shared/spinner/spinner.component';
 
 describe('OrganisationseinheitContainerComponent', () => {
   let component: OrganisationseinheitContainerComponent;
@@ -28,6 +32,7 @@ describe('OrganisationseinheitContainerComponent', () => {
   const dialogOpenButtonSelector: string = getDataTestIdOf(
     'organisationseinheit-open-dialog-button',
   );
+  const spinnerSelector: string = getDataTestIdOf('organisationseinheit-spinner');
 
   const organisationseinheitItems: Organisationseinheit[] = [createOrganisationseinheit()];
 
@@ -41,6 +46,7 @@ describe('OrganisationseinheitContainerComponent', () => {
         MockComponent(SecondaryButtonComponent),
         MockComponent(OrganisationseinheitFormComponent),
         MockComponent(OrganisationseinheitListComponent),
+        MockComponent(SpinnerComponent),
       ],
       providers: [{ provide: UserService, useValue: userService }],
     }).compileComponents();
@@ -70,7 +76,6 @@ describe('OrganisationseinheitContainerComponent', () => {
   });
 
   describe('organisationseinheit list', () => {
-
     it('should open form for editing on editOrganisationseinheit event', () => {
       const organisationseinheit: Organisationseinheit = organisationseinheitItems[0];
       formComponent.openEdit = jest.fn();
@@ -80,13 +85,48 @@ describe('OrganisationseinheitContainerComponent', () => {
       expect(formComponent.openEdit).toHaveBeenCalledWith(organisationseinheit);
     });
 
-    it('should call delete form on deleteOrganisationseinheit event', () => {
+    it('should call deleteOrganisationseinheit form on deleteOrganisationseinheit event', () => {
       const organisationseinheit: Organisationseinheit = organisationseinheitItems[0];
-      formComponent.delete = jest.fn();
+      component.delete = jest.fn();
 
       listComponent.deleteOrganisationseinheit.emit(organisationseinheit);
 
-      expect(formComponent.delete).toHaveBeenCalledWith(organisationseinheit);
+      expect(component.delete).toHaveBeenCalledWith(organisationseinheit);
+    });
+  });
+
+  describe('delete', () => {
+    const organisationseinheit: Organisationseinheit = organisationseinheitItems[0];
+
+    beforeEach(() => {
+      userService.deleteOrganisationseinheit = jest.fn().mockReturnValue(singleCold(true));
+    });
+
+    it('should call service method', () => {
+      component.delete(organisationseinheit);
+
+      expect(userService.deleteOrganisationseinheit).toHaveBeenCalledWith(organisationseinheit.id);
+    });
+
+    it('should assign delete progress observable', () => {
+      component.delete(organisationseinheit);
+
+      expect(component.deleteInProgress$).toBeObservable(singleCold(true));
+    });
+  });
+
+  describe('spinner', () => {
+    it('should not show if delete in not progress', () => {
+      fixture.detectChanges();
+
+      notExistsAsHtmlElement(fixture, spinnerSelector);
+    });
+    it('should show if delete in progress', () => {
+      component.deleteInProgress$ = of(true);
+
+      fixture.detectChanges();
+
+      existsAsHtmlElement(fixture, spinnerSelector);
     });
   });
 });
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts
index 9750b725ddfbf7741e9097226c237dfbf613383a..efa637313dfce71fe1904be3658658cb2dd34518 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.ts
@@ -1,7 +1,7 @@
 import { Component, OnInit, ViewChild } from '@angular/core';
 import { Organisationseinheit } from '../../user/user.model';
 import { UserService } from '../../user/user.service';
-import { Observable } from 'rxjs';
+import { Observable, of } from 'rxjs';
 import { OrganisationseinheitFormComponent } from './organisationseinheit-form/organisationseinheit-form.component';
 
 @Component({
@@ -10,6 +10,7 @@ import { OrganisationseinheitFormComponent } from './organisationseinheit-form/o
 })
 export class OrganisationseinheitContainerComponent implements OnInit {
   organisationseinheitItems$: Observable<Organisationseinheit[]>;
+  deleteInProgress$: Observable<boolean> = of(false);
 
   @ViewChild(OrganisationseinheitFormComponent)
   private form!: OrganisationseinheitFormComponent;
@@ -24,11 +25,11 @@ export class OrganisationseinheitContainerComponent implements OnInit {
     this.form.open();
   }
 
-  public editOrganisationseinheit(organisationseinheit: Organisationseinheit): void {
+  public edit(organisationseinheit: Organisationseinheit): void {
     this.form.openEdit(organisationseinheit);
   }
 
-  public deleteOrganisationseinheit(organisationseinheit: Organisationseinheit): void {
-    this.form.delete(organisationseinheit);
+  public delete(organisationseinheit: Organisationseinheit): void {
+    this.deleteInProgress$ = this.userService.deleteOrganisationseinheit(organisationseinheit.id);
   }
 }
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts
index 9e1f39437be6685174546f19c2f00e1307870c6f..fa05ca78075a471e82b3b1f9f4ff323dc4578660 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts
@@ -278,8 +278,6 @@ describe('OrganisationseinheitFormComponent', () => {
       expect(component.dialog.showModal).toHaveBeenCalled();
     });
 
-
-
     it('should patch form', () => {
       component.formService.patch = jest.fn();
 
@@ -289,23 +287,6 @@ describe('OrganisationseinheitFormComponent', () => {
     });
   });
 
-  describe('delete', () => {
-    const organisationseinheit: Organisationseinheit = createOrganisationseinheit();
-
-    it('should not open dialog', () => {
-      expect(component.dialog.showModal).not.toHaveBeenCalled();
-    });
-
-    it('should call form service delete with organisationseinheit id', fakeAsync(() => {
-      component.formService.delete = jest.fn();
-
-      component.delete(organisationseinheit);
-      tick();
-
-      expect(component.formService.delete).toHaveBeenCalledWith(organisationseinheit.id);
-    }));
-  });
-
   describe('header', () => {
     it('should show label text', () => {
       const text: string = 'test-text';
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.ts b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.ts
index 2d831680baf34f61aaf30833fb8263e84d4c0995..a751de2bce0712f5d8bc5a1d97b9000fa6ed78ec 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.ts
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit-form.component.ts
@@ -57,10 +57,6 @@ export class OrganisationseinheitFormComponent implements AfterViewInit {
     this.dialog.showModal();
   }
 
-  public delete(organisationseinheit: Organisationseinheit): void {
-    this.submitInProgress$ = this.formService.delete(organisationseinheit.id);
-  }
-
   complete(): void {
     this.dialog.close();
     this.formService.reset();
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit.formservice.ts b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit.formservice.ts
index 3a1eda71d536a2db797080ba90504e99fe0d9c7d..a5b71af7536c8a763466a3600cd3f67c9487d3dd 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit.formservice.ts
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-form/organisationseinheit.formservice.ts
@@ -117,8 +117,4 @@ export class OrganisationseinheitFormservice {
   public isInvalid(): boolean {
     return this.form.invalid;
   }
-
-  public delete(id: string): Observable<boolean> {
-    return this.userService.deleteOrganisationseinheit(id);
-  }
 }