diff --git a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.ts b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.ts
index 31ce426e6aa5a8797107108e5e7489a85a1cfb73..2b6255aa9bba1e4ac1424de5a9b56282cb683349 100644
--- a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.ts
+++ b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.ts
@@ -22,7 +22,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 import { createEmptyStateResource, createStateResource, doIfLoadingRequired, StateResource } from '@alfa-client/tech-shared';
-import { BehaviorSubject, catchError, first, map, Observable, startWith, switchMap, tap } from 'rxjs';
+import { BehaviorSubject, catchError, first, map, Observable, startWith, switchMap, tap, throwError } from 'rxjs';
 
 export abstract class KeycloakResourceService<T> {
   readonly stateResource: BehaviorSubject<StateResource<T[]>> = new BehaviorSubject(createEmptyStateResource());
@@ -82,9 +82,9 @@ export abstract class KeycloakResourceService<T> {
     );
   }
 
-  handleError(err: Error): never {
+  handleError(err: Error): Observable<never> {
     this.refresh();
-    throw err;
+    return throwError(() => err);
   }
 
   _setLoadingInStateResource<D>(action: Observable<D>): Observable<StateResource<D>> {