diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
index 972537e77f7862ce5da10ffd868c3ffa529d2060..edf33922bdf3321e33dd6da63e5e73dd0d86f1d7 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
@@ -206,11 +206,14 @@ describe('BescheidService', () => {
     const vorgangWithEingangResource: VorgangWithEingangResource =
       createVorgangWithEingangResource();
     const bescheidResource: BescheidResource = createBescheidResource();
-    const commandStateResource: StateResource<CommandResource> = createCommandStateResource();
+    const vorgangAbschliessenCommandStateResource: StateResource<CommandResource> =
+      createCommandStateResource();
 
     beforeEach(() => {
-      service.vorgangAbschliesen = jest.fn().mockReturnValue(of(createCommandStateResource()));
-      service.deleteBescheid = jest.fn().mockReturnValue(of(commandStateResource));
+      service.vorgangAbschliesen = jest
+        .fn()
+        .mockReturnValue(of(vorgangAbschliessenCommandStateResource));
+      service.deleteBescheid = jest.fn().mockReturnValue(of(createCommandStateResource));
     });
 
     it('should Bescheiderstellung überspringen', (done) => {
@@ -227,6 +230,10 @@ describe('BescheidService', () => {
     });
 
     it('should Bescheid löschen', (done) => {
+      service.vorgangAbschliesen = jest
+        .fn()
+        .mockReturnValue(of(createCommandStateResource([CommandLinkRel.EFFECTED_RESOURCE])));
+
       const command$: Observable<StateResource<CommandResource>> =
         service.bescheidLoeschenUndErstellungUeberspringen(
           vorgangWithEingangResource,
@@ -239,14 +246,29 @@ describe('BescheidService', () => {
       });
     });
 
-    it('should emit delete bescheid command', () => {
+    it('should not Bescheid löschen', (done) => {
+      service.vorgangAbschliesen = jest.fn().mockReturnValue(of(createCommandStateResource()));
+
       const command$: Observable<StateResource<CommandResource>> =
         service.bescheidLoeschenUndErstellungUeberspringen(
           vorgangWithEingangResource,
           bescheidResource,
         );
 
-      expect(command$).toBeObservable(cold('(a|)', { a: commandStateResource }));
+      command$.subscribe(() => {
+        expect(service.deleteBescheid).not.toHaveBeenCalledWith(bescheidResource);
+        done();
+      });
+    });
+
+    it('should emit vorgang abschliessen command', () => {
+      const command$: Observable<StateResource<CommandResource>> =
+        service.bescheidLoeschenUndErstellungUeberspringen(
+          vorgangWithEingangResource,
+          bescheidResource,
+        );
+
+      expect(command$).toBeObservable(cold('(a|)', { a: vorgangAbschliessenCommandStateResource }));
     });
   });
 
diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
index 73338e50f814496947c94341c78c13a149e78ff1..d875344cb9a5f0bf53c2304d82cbdff838242081 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
@@ -81,7 +81,7 @@ export class BescheidService {
     bescheidResource: BescheidResource,
   ): Observable<StateResource<CommandResource>> {
     return this.vorgangAbschliesen(vorgangWithEingangResource).pipe(
-      switchMap(() => this.deleteBescheid(bescheidResource)),
+      onCommandSuccessfullyDone(() => this.deleteBescheid(bescheidResource)),
     );
   }
 
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts
index 62cba4d267093de5a9b242dbb478fb1a87dbac12..b9522ba3a35c7996c4ab026c6d1fd3d3088dc1f7 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts
@@ -21,7 +21,7 @@ export class OzgcloudDialogService {
     );
   }
 
-  public open<T, D>(component: ComponentType<T>, data?: D): DialogRef<T> {
+  public open<T, D = undefined>(component: ComponentType<T>, data?: D): DialogRef<T> {
     return this.openDialog(component, this.buildDialogConfigWithData(data));
   }
 
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.model.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.model.ts
index cdaaba160035bd674b9b97b2560b716ba44c1e4f..c44625133f9a8739e215b4d72d33be87fbad044f 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.model.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.model.ts
@@ -5,7 +5,3 @@ export interface BescheidenDialogData {
   vorgangWithEingangResource: VorgangWithEingangResource;
   bescheidDraftResource?: BescheidResource;
 }
-
-export interface BescheiderstellungUeberspringenDialogData {
-  vorgangWithEingangResource: VorgangWithEingangResource;
-}
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.spec.ts
index 5bd380e629b34379a00163a4d56479c2bb80a254..8edecfa1d44635b483abadfbcc1597d2f469fedf 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.spec.ts
@@ -3,25 +3,15 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { VorgangDetailBescheidenUeberspringenButtonComponent } from './vorgang-detail-bescheiden-ueberspringen-button.component';
 import { OzgcloudDialogService } from '@alfa-client/ui';
 import { VorgangDetailBescheidenUeberspringenDialogComponent } from '../vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component';
-import { BescheiderstellungUeberspringenDialogData } from '@alfa-client/vorgang-detail';
-import { BescheidenFormService } from '../../../bescheiden.formservice';
-import { createVorgangWithEingangResource } from '../../../../../../../../vorgang-shared/test/vorgang';
-import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 
 describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
   let component: VorgangDetailBescheidenUeberspringenButtonComponent;
   let fixture: ComponentFixture<VorgangDetailBescheidenUeberspringenButtonComponent>;
 
   let ozgcloudDialogService: Mock<OzgcloudDialogService>;
-  let formService: Mock<BescheidenFormService>;
-  let vorgangWithEingangResource: VorgangWithEingangResource;
 
   beforeEach(async () => {
     ozgcloudDialogService = mock(OzgcloudDialogService);
-    formService = mock(BescheidenFormService);
-
-    vorgangWithEingangResource = createVorgangWithEingangResource();
-    formService.getVorgangWithEingangResource.mockReturnValue(vorgangWithEingangResource);
 
     await TestBed.configureTestingModule({
       declarations: [VorgangDetailBescheidenUeberspringenButtonComponent],
@@ -30,10 +20,6 @@ describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
           provide: OzgcloudDialogService,
           useValue: ozgcloudDialogService,
         },
-        {
-          provide: BescheidenFormService,
-          useValue: formService,
-        },
       ],
     }).compileComponents();
 
@@ -52,7 +38,6 @@ describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
 
       expect(ozgcloudDialogService.open).toHaveBeenCalledWith(
         VorgangDetailBescheidenUeberspringenDialogComponent,
-        { vorgangWithEingangResource } as BescheiderstellungUeberspringenDialogData,
       );
     });
   });
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.ts
index 63b182124b45070ea84e6285feef13589053240a..29a02d750bfd143fee955ab724941638130a71b6 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-button/vorgang-detail-bescheiden-ueberspringen-button.component.ts
@@ -2,8 +2,6 @@ import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { Component, Input } from '@angular/core';
 import { OzgcloudDialogService } from '@alfa-client/ui';
 import { VorgangDetailBescheidenUeberspringenDialogComponent } from '../vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component';
-import { BescheidenFormService } from '../../../bescheiden.formservice';
-import { BescheiderstellungUeberspringenDialogData } from '@alfa-client/vorgang-detail';
 
 @Component({
   selector: 'alfa-vorgang-detail-bescheiden-ueberspringen-button',
@@ -13,17 +11,11 @@ import { BescheiderstellungUeberspringenDialogData } from '@alfa-client/vorgang-
 export class VorgangDetailBescheidenUeberspringenButtonComponent {
   @Input() vorgang: VorgangWithEingangResource;
 
-  constructor(
-    private readonly ozgcloudDialogService: OzgcloudDialogService,
-    private formService: BescheidenFormService,
-  ) {}
+  constructor(private readonly ozgcloudDialogService: OzgcloudDialogService) {}
 
   public onClick(): void {
-    this.ozgcloudDialogService.open<
+    this.ozgcloudDialogService.open<VorgangDetailBescheidenUeberspringenDialogComponent>(
       VorgangDetailBescheidenUeberspringenDialogComponent,
-      BescheiderstellungUeberspringenDialogData
-    >(VorgangDetailBescheidenUeberspringenDialogComponent, {
-      vorgangWithEingangResource: this.formService.getVorgangWithEingangResource(),
-    });
+    );
   }
 }
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.spec.ts
index 3519995184aa0e2cdc205aa5121a80eadc943021..6f137b513da74467310382a6be5cee0dc96095dd 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.spec.ts
@@ -1,13 +1,12 @@
 import { Mock, mock } from '@alfa-client/test-utils';
-import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
-import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
+import { DialogRef } from '@angular/cdk/dialog';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { VorgangDetailBescheidenUeberspringenDialogComponent } from './vorgang-detail-bescheiden-ueberspringen-dialog.component';
 import { MockComponent } from 'ng-mocks';
 import { OzgcloudDialogService, OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui';
 import { MatIcon } from '@angular/material/icon';
 import { BescheidService } from '@alfa-client/bescheid-shared';
-import { createVorgangWithEingangResource } from '../../../../../../../../vorgang-shared/test/vorgang';
-import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
+import { VorgangService, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { createCommandResource } from '../../../../../../../../command-shared/test/command';
 import { of } from 'rxjs';
 import { cold } from 'jest-marbles';
@@ -18,7 +17,7 @@ import {
 } from '@alfa-client/tech-shared';
 import { CommandLinkRel } from '../../../../../../../../command-shared/src/lib/command.linkrel';
 import { CommandResource } from '@alfa-client/command-shared';
-import { BescheiderstellungUeberspringenDialogData } from '../../../bescheiden.model';
+import { createVorgangWithEingangResource } from '../../../../../../../../vorgang-shared/test/vorgang';
 
 describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
   let component: VorgangDetailBescheidenUeberspringenDialogComponent;
@@ -27,16 +26,13 @@ describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
   let dialogRef: Mock<DialogRef>;
   let bescheidService: Mock<BescheidService>;
   let ozgcloudDialogService: Mock<OzgcloudDialogService>;
-  let dialogData: BescheiderstellungUeberspringenDialogData;
-  let vorgangWithEingangResource: VorgangWithEingangResource;
+  let vorgangService: Mock<VorgangService>;
 
   beforeEach(async () => {
     dialogRef = mock(DialogRef);
     bescheidService = mock(BescheidService);
     ozgcloudDialogService = mock(OzgcloudDialogService);
-
-    vorgangWithEingangResource = createVorgangWithEingangResource();
-    dialogData = { vorgangWithEingangResource };
+    vorgangService = mock(VorgangService);
 
     await TestBed.configureTestingModule({
       declarations: [
@@ -58,8 +54,8 @@ describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
           useValue: ozgcloudDialogService,
         },
         {
-          provide: DIALOG_DATA,
-          useValue: dialogData,
+          provide: VorgangService,
+          useValue: vorgangService,
         },
       ],
     }).compileComponents();
@@ -82,23 +78,36 @@ describe('VorgangDetailBescheidenUeberspringenButtonComponent', () => {
   });
 
   describe('onConfirm', () => {
+    let vorgangWithEingangResource: VorgangWithEingangResource;
     const successfullyDoneCommandStateResource: StateResource<CommandResource> =
       createStateResource(createCommandResource([CommandLinkRel.EFFECTED_RESOURCE]));
 
     beforeEach(() => {
+      vorgangWithEingangResource = createVorgangWithEingangResource();
+      vorgangService.getVorgangWithEingang.mockReturnValue(
+        of(createStateResource(vorgangWithEingangResource)),
+      );
       bescheidService.bescheidErstellungUeberspringen.mockReturnValue(
         of(successfullyDoneCommandStateResource),
       );
     });
 
-    it('should call bescheid service erstellung ueberspringen', fakeAsync(() => {
+    it('should get vorgang with eingang', () => {
       component.onConfirm();
-      tick();
 
-      expect(bescheidService.bescheidErstellungUeberspringen).toHaveBeenCalledWith(
-        vorgangWithEingangResource,
-      );
-    }));
+      expect(vorgangService.getVorgangWithEingang).toHaveBeenCalled();
+    });
+
+    it('should call bescheid service erstellung ueberspringen', (done) => {
+      component.onConfirm();
+
+      component.bescheiderstellungUeberspringen$.subscribe(() => {
+        expect(bescheidService.bescheidErstellungUeberspringen).toHaveBeenCalledWith(
+          vorgangWithEingangResource,
+        );
+        done();
+      });
+    });
 
     it('should close all dialogs on success', (done) => {
       component.onConfirm();
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.ts
index 9344ce4fdbaa22268d9f5815f5846a61bcbd4b34..fb622547196d4f327516babdc437e18d60c80581 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-ueberspringen-dialog/vorgang-detail-bescheiden-ueberspringen-dialog.component.ts
@@ -1,11 +1,11 @@
-import { Component, Inject } from '@angular/core';
-import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
+import { Component } from '@angular/core';
+import { DialogRef } from '@angular/cdk/dialog';
 import { OzgcloudDialogService } from '@alfa-client/ui';
 import { BescheidService } from '@alfa-client/bescheid-shared';
-import { Observable } from 'rxjs';
+import { filter, first, Observable, switchMap } from 'rxjs';
 import { CommandResource, onCommandSuccessfullyDone } from '@alfa-client/command-shared';
-import { StateResource } from '@alfa-client/tech-shared';
-import { BescheiderstellungUeberspringenDialogData } from '../../../bescheiden.model';
+import { isLoaded, StateResource } from '@alfa-client/tech-shared';
+import { VorgangService } from '@alfa-client/vorgang-shared';
 
 @Component({
   selector: 'alfa-vorgang-detail-bescheiden-ueberspringen-dialog',
@@ -18,7 +18,7 @@ export class VorgangDetailBescheidenUeberspringenDialogComponent {
     private readonly dialogRef: DialogRef,
     private readonly bescheidService: BescheidService,
     private readonly ozgcloudDialogService: OzgcloudDialogService,
-    @Inject(DIALOG_DATA) private readonly dialogData: BescheiderstellungUeberspringenDialogData,
+    private readonly vorgangService: VorgangService,
   ) {}
 
   public onClose(): void {
@@ -26,9 +26,17 @@ export class VorgangDetailBescheidenUeberspringenDialogComponent {
   }
 
   public onConfirm(): void {
-    this.bescheiderstellungUeberspringen$ = this.bescheidService
-      .bescheidErstellungUeberspringen(this.dialogData.vorgangWithEingangResource)
-      .pipe(onCommandSuccessfullyDone(() => this.ozgcloudDialogService.closeAll()));
+    this.bescheiderstellungUeberspringen$ = this.vorgangService.getVorgangWithEingang().pipe(
+      filter((stateResource) => isLoaded(stateResource)),
+      first(),
+      switchMap((stateResource) =>
+        this.bescheidService.bescheidErstellungUeberspringen(stateResource.resource).pipe(
+          onCommandSuccessfullyDone(() => {
+            this.ozgcloudDialogService.closeAll();
+          }),
+        ),
+      ),
+    );
   }
 
   public onCancel(): void {