diff --git a/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts b/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts
index 4d6c0e5ba0bca3a14b4e33d989d737fa379552ff..e5de206c374792dc517fe2ae1cfbd7edab08a699 100644
--- a/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts
+++ b/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts
@@ -24,7 +24,6 @@
 import { BinaryFileService } from '@alfa-client/binary-file-shared';
 import { CommandOrder, CommandResource, CommandService } from '@alfa-client/command-shared';
 import { NavigationService } from '@alfa-client/navigation-shared';
-import * as TechShared from '@alfa-client/tech-shared';
 import { createEmptyStateResource, createStateResource, decodeUrlFromEmbedding, StateResource } from '@alfa-client/tech-shared';
 import { Mock, mock, useFromMock } from '@alfa-client/test-utils';
 import { SnackBarService } from '@alfa-client/ui';
@@ -35,14 +34,25 @@ import { cold, hot } from 'jest-marbles';
 import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { createVorgangResource, createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
-import { createWiedervorlage, createWiedervorlageListResource, createWiedervorlageResource, } from 'libs/wiedervorlage-shared/test/wiedervorlage';
-import { of } from 'rxjs';
+import {
+  createWiedervorlage,
+  createWiedervorlageListResource,
+  createWiedervorlageResource,
+} from 'libs/wiedervorlage-shared/test/wiedervorlage';
+import { of, Subscription } from 'rxjs';
 import { WiedervorlageLinkRel, WiedervorlageListLinkRel } from './wiedervorlage.linkrel';
 import { WiedervorlageMessages } from './wiedervorlage.message';
-import { Wiedervorlage, WIEDERVORLAGE_UPLOADED_ATTACHMENTS, WiedervorlageListResource, WiedervorlageResource, } from './wiedervorlage.model';
+import {
+  Wiedervorlage,
+  WIEDERVORLAGE_UPLOADED_ATTACHMENTS,
+  WiedervorlageListResource,
+  WiedervorlageResource,
+} from './wiedervorlage.model';
 import { WiedervorlageRepository } from './wiedervorlage.repository';
 import { WiedervorlageService } from './wiedervorlage.service';
 
+import * as TechShared from '@alfa-client/tech-shared';
+
 jest.mock('@alfa-client/tech-shared', () => mockAsEsModule('@alfa-client/tech-shared'));
 
 function mockAsEsModule(module: string) {
@@ -59,11 +69,14 @@ describe('WiedervorlageService', () => {
   let commandService: Mock<CommandService>;
   let snackbarService: Mock<SnackBarService>;
   let binaryFileService: Mock<BinaryFileService>;
-  let vorgangService: Mock<VorgangService> = mock(VorgangService);
+  let vorgangService: Mock<VorgangService>;
 
   const vorgangResource: VorgangWithEingangResource = createVorgangWithEingangResource();
+  const vorgangWithEingangStateResource: StateResource<VorgangWithEingangResource> = createStateResource(vorgangResource);
+
   const wiedervorlageResource: WiedervorlageResource = createWiedervorlageResource();
   const wiedervorlage: Wiedervorlage = createWiedervorlage();
+
   const commandResource: CommandResource = createCommandResource();
   const commandResourceWithEffectedResourceLink: CommandResource = createCommandResource([CommandLinkRel.EFFECTED_RESOURCE]);
 
@@ -73,7 +86,10 @@ describe('WiedervorlageService', () => {
     commandService = mock(CommandService);
     snackbarService = mock(SnackBarService);
     binaryFileService = mock(BinaryFileService);
-    vorgangService = mock(VorgangService);
+    vorgangService = {
+      ...mock(VorgangService),
+      getVorgangWithEingang: jest.fn().mockReturnValue(of(vorgangWithEingangStateResource)),
+    };
 
     navigationService.urlChanged.mockReturnValue(of({}));
 
@@ -93,10 +109,6 @@ describe('WiedervorlageService', () => {
 
     const vorgangWithEingangStateResource: StateResource<VorgangWithEingangResource> = createStateResource(vorgangResource);
 
-    beforeEach(() => {
-      vorgangService.getVorgangWithEingang.mockReturnValue(of(vorgangWithEingangStateResource));
-    });
-
     it('should call vorgangFacade getVorgangWithEingang', () => {
       service.getWiedervorlageList();
 
@@ -142,6 +154,16 @@ describe('WiedervorlageService', () => {
     const wiedervorlageListStateResource: StateResource<WiedervorlageListResource> =
       createStateResource(wiedervorlageListResource);
 
+    beforeEach(() => {
+      service._refreshVorgangSubscription = jest.fn();
+    });
+
+    it('should call refresh vorgang subscription', () => {
+      service.getWiedervorlageListByGivenVorgang(vorgang);
+
+      expect(service._refreshVorgangSubscription).toHaveBeenCalled();
+    });
+
     it('should return initial value', () => {
       service.wiedervorlageList$.asObservable = jest.fn().mockReturnValue(hot('-a', { a: wiedervorlageListResource }));
 
@@ -169,6 +191,24 @@ describe('WiedervorlageService', () => {
     });
   });
 
+  describe('refresh vorgang subscription', () => {
+    beforeEach(() => {
+      service.vorgangSubscription = <any>mock(Subscription);
+      service._listenToVorgangChange = jest.fn();
+    });
+
+    it('should unsubscribe existing subscription', () => {
+      service._refreshVorgangSubscription();
+
+      expect(service.vorgangSubscription.unsubscribe).toHaveBeenCalled();
+    });
+    it('should call listen to vorgang change', () => {
+      service._refreshVorgangSubscription();
+
+      expect(service._listenToVorgangChange).toHaveBeenCalled();
+    });
+  });
+
   describe('getWiedervorlage', () => {
     const wiedervorlage: WiedervorlageResource = createWiedervorlageResource();
     const wiedervorlageStateResource: StateResource<WiedervorlageResource> = createStateResource(wiedervorlage);
@@ -534,4 +574,63 @@ describe('WiedervorlageService', () => {
       expect(binaryFileService.clearUploadedFiles).toHaveBeenCalledWith(WIEDERVORLAGE_UPLOADED_ATTACHMENTS);
     });
   });
+
+  describe('listen to vorgang change', () => {
+    beforeEach(() => {
+      service._handleVorgangChange = jest.fn();
+    });
+
+    it('should call vorgang service to get vorgang with eingang', () => {
+      service._listenToVorgangChange();
+
+      expect(vorgangService.getVorgangWithEingang).toHaveBeenCalled();
+    });
+
+    it('should call handle vorgang change', () => {
+      service._listenToVorgangChange();
+
+      expect(service._handleVorgangChange).toHaveBeenCalledWith(vorgangWithEingangStateResource);
+    });
+  });
+
+  describe('handle vorgang change', () => {
+    it('should set reload flag if list is loaded and state resource is loading', () => {
+      service.shouldReload = false;
+      service.wiedervorlageList$.next(createStateResource(createWiedervorlageListResource()));
+
+      service._handleVorgangChange({ ...vorgangWithEingangStateResource, loading: true });
+
+      expect(service.shouldReload).toBeTruthy();
+    });
+
+    it('should set reload flag if list is loaded and state resource is reloading', () => {
+      service.wiedervorlageList$.next(createStateResource(createWiedervorlageListResource()));
+      service.shouldReload = false;
+
+      service._handleVorgangChange({ ...vorgangWithEingangStateResource, reload: true });
+
+      expect(service.shouldReload).toBeTruthy();
+    });
+
+    describe('on setted reload flag', () => {
+      beforeEach(() => {
+        service.setWiedervorlageListReload = jest.fn();
+        service.shouldReload = true;
+      });
+
+      describe('and loaded vorgang resource', () => {
+        it('should call set wiedervorlage list reload', () => {
+          service._handleVorgangChange(vorgangWithEingangStateResource);
+
+          expect(service.setWiedervorlageListReload).toHaveBeenCalled();
+        });
+
+        it('and loaded vorgang resource should call set wiedervorlage list reload', () => {
+          service._handleVorgangChange(vorgangWithEingangStateResource);
+
+          expect(service.shouldReload).toBeFalsy();
+        });
+      });
+    });
+  });
 });
diff --git a/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts b/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts
index 208bf667e34a682bf13a4022276667409c9f4831..a33839c5dc0e02cbee261d5468769b59dbb888cd 100644
--- a/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts
+++ b/alfa-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts
@@ -24,9 +24,20 @@
 import { BinaryFileService } from '@alfa-client/binary-file-shared';
 import { CommandOrder, CommandResource, CommandService, CreateCommand, isDone } from '@alfa-client/command-shared';
 import { NavigationService } from '@alfa-client/navigation-shared';
-import { createEmptyStateResource, createStateResource, decodeUrlFromEmbedding, doIfLoadingRequired, hasStateResourceError, isNotNull, isNotUndefined, replacePlaceholder, StateResource, } from '@alfa-client/tech-shared';
+import {
+  createEmptyStateResource,
+  createStateResource,
+  decodeUrlFromEmbedding,
+  doIfLoadingRequired,
+  hasStateResourceError,
+  isLoaded,
+  isNotNull,
+  isNotUndefined,
+  replacePlaceholder,
+  StateResource,
+} from '@alfa-client/tech-shared';
 import { SnackBarService } from '@alfa-client/ui';
-import { VorgangHeaderLinkRel, VorgangResource, VorgangService } from '@alfa-client/vorgang-shared';
+import { VorgangHeaderLinkRel, VorgangResource, VorgangService, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { Injectable, OnDestroy } from '@angular/core';
 import { Params } from '@angular/router';
 import { hasLink, ResourceUri } from '@ngxp/rest';
@@ -35,7 +46,12 @@ import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';
 import { filter, map, startWith, tap } from 'rxjs/operators';
 import { WiedervorlageLinkRel, WiedervorlageListLinkRel } from './wiedervorlage.linkrel';
 import { WiedervorlageMessages } from './wiedervorlage.message';
-import { Wiedervorlage, WIEDERVORLAGE_UPLOADED_ATTACHMENTS, WiedervorlageListResource, WiedervorlageResource, } from './wiedervorlage.model';
+import {
+  Wiedervorlage,
+  WIEDERVORLAGE_UPLOADED_ATTACHMENTS,
+  WiedervorlageListResource,
+  WiedervorlageResource,
+} from './wiedervorlage.model';
 import { WiedervorlageRepository } from './wiedervorlage.repository';
 import { WiedervorlageRoutes } from './wiedervorlage.route';
 import { createErledigenCommand, createWiedereroeffnenCommand } from './wiedervorlage.util';
@@ -62,7 +78,10 @@ export class WiedervorlageService implements OnDestroy {
     StateResource<CommandResource>
   >(createEmptyStateResource<CommandResource>());
 
+  shouldReload: boolean = false;
+
   private subscription: Subscription;
+  vorgangSubscription: Subscription;
 
   constructor(
     private repository: WiedervorlageRepository,
@@ -73,6 +92,7 @@ export class WiedervorlageService implements OnDestroy {
     private vorgangService: VorgangService,
   ) {
     this.listenToNavigation();
+    this._listenToVorgangChange();
   }
 
   public getWiedervorlageList(): Observable<StateResource<WiedervorlageListResource>> {
@@ -90,10 +110,41 @@ export class WiedervorlageService implements OnDestroy {
   public getWiedervorlageListByGivenVorgang(
     vorgangResource: VorgangResource,
   ): Observable<StateResource<WiedervorlageListResource>> {
+    this._refreshVorgangSubscription();
     doIfLoadingRequired(this.wiedervorlageList$.value, () => this.loadWiedervorlagenByVorgang(vorgangResource));
     return this.wiedervorlageList$.asObservable();
   }
 
+  _refreshVorgangSubscription(): void {
+    this.vorgangSubscription.unsubscribe();
+    this._listenToVorgangChange();
+  }
+
+  _listenToVorgangChange() {
+    this.vorgangSubscription = this.vorgangService
+      .getVorgangWithEingang()
+      .subscribe((vorgangWithEingangStateResource: StateResource<VorgangWithEingangResource>) =>
+        this._handleVorgangChange(vorgangWithEingangStateResource),
+      );
+  }
+
+  _handleVorgangChange(vorgangWithEingangStateResource: StateResource<VorgangWithEingangResource>): void {
+    if (this.shouldReloadList(vorgangWithEingangStateResource)) {
+      this.shouldReload = true;
+    }
+    if (isLoaded(vorgangWithEingangStateResource) && this.shouldReload) {
+      this.setWiedervorlageListReload();
+      this.shouldReload = false;
+    }
+  }
+
+  private shouldReloadList(vorgangWithEingangStateResource: StateResource<VorgangWithEingangResource>): boolean {
+    return (
+      (vorgangWithEingangStateResource.loading || vorgangWithEingangStateResource.reload) &&
+      isNotNull(this.wiedervorlageList$.value.resource)
+    );
+  }
+
   loadWiedervorlagenByVorgang(vorgangResource: VorgangResource): void {
     if (hasLink(vorgangResource, VorgangHeaderLinkRel.WIEDERVORLAGEN)) {
       const subscription: Subscription = this.repository.getWiedervorlageList(vorgangResource).subscribe((wiedervorlagenList) => {
diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang-container.component.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang-container.component.ts
index 6a99467e90164b63414677a0e80f4f9ea2470759..49636b773f656e428d851532fd44bacffbe80abf 100644
--- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang-container.component.ts
+++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage-list-in-vorgang-container/wiedervorlage-list-in-vorgang-container.component.ts
@@ -21,11 +21,11 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { Component, Input, OnChanges } from '@angular/core';
-import { StateResource } from '@alfa-client/tech-shared';
+import { createEmptyStateResource, StateResource } from '@alfa-client/tech-shared';
 import { VorgangHeaderLinkRel, VorgangResource } from '@alfa-client/vorgang-shared';
 import { WiedervorlageListResource, WiedervorlageService } from '@alfa-client/wiedervorlage-shared';
-import { Observable } from 'rxjs';
+import { Component, Input, OnChanges } from '@angular/core';
+import { Observable, of } from 'rxjs';
 
 @Component({
   selector: 'alfa-wiedervorlage-list-in-vorgang-container',
@@ -35,7 +35,8 @@ import { Observable } from 'rxjs';
 export class WiedervorlageListInVorgangContainerComponent implements OnChanges {
   @Input() vorgangStateResource: StateResource<VorgangResource>;
 
-  wiedervorlagenStateResource$: Observable<StateResource<WiedervorlageListResource>>;
+  wiedervorlagenStateResource$: Observable<StateResource<WiedervorlageListResource>> =
+    of(createEmptyStateResource<WiedervorlageListResource>());
 
   readonly vorgangLinkRel = VorgangHeaderLinkRel;
 
@@ -43,10 +44,9 @@ export class WiedervorlageListInVorgangContainerComponent implements OnChanges {
 
   ngOnChanges(): void {
     this.reloadWiedervorlageListOnVorgangReload();
-    this.wiedervorlagenStateResource$ =
-      this.wiedervorlageService.getWiedervorlageListByGivenVorgang(
-        this.vorgangStateResource.resource,
-      );
+    this.wiedervorlagenStateResource$ = this.wiedervorlageService.getWiedervorlageListByGivenVorgang(
+      this.vorgangStateResource.resource,
+    );
   }
 
   reloadWiedervorlageListOnVorgangReload(): void {