diff --git a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.html b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.html
index 7ef284e7dde3d98fe2dfb791bb1e8ba9544e878c..c444775a8b3b65d44da62d059e8454acfc783026 100644
--- a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.html
+++ b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.html
@@ -1,13 +1,15 @@
 <goofy-client-expansion-panel headline="Anhänge">
 	<ng-container *ngIf="attachmentStateResource$ | async as attachmentStateResource">
 
-		<goofy-client-anhaenge *ngIf="vorgangWithEingang | hasLink: linkRel.ATTACHMENTS; else emptyAnhaenge"  data-test-id="anhaenge" class="files"
-			[attachments]="attachmentStateResource.resource | toEmbeddedResources: fileListRel.FILE_LIST">
-		</goofy-client-anhaenge>
-
-		<ng-template #emptyAnhaenge>
-			<p data-test-id="empty-anhaenge">keine Anhänge vorhanden</p>
-		</ng-template>
-
+		<goofy-client-spinner [stateResource]="attachmentStateResource">
+			<goofy-client-anhaenge *ngIf="vorgangWithEingang | hasLink: linkRel.ATTACHMENTS; else emptyAnhaenge"  data-test-id="anhaenge" class="files"
+				[attachments]="attachmentStateResource.resource | toEmbeddedResources: fileListRel.FILE_LIST">
+			</goofy-client-anhaenge>
+		
+			<ng-template #emptyAnhaenge>
+				<p data-test-id="empty-anhaenge">keine Anhänge vorhanden</p>
+			</ng-template>
+		</goofy-client-spinner>
+		
 	</ng-container>
 </goofy-client-expansion-panel>
\ No newline at end of file
diff --git a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts
index 5e680f08abe33606bf8f16fca51011b42dfbb0fe..4cc21fb1aefed0e1c8bef39477568e1d8f42bed6 100644
--- a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts
+++ b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts
@@ -1,7 +1,7 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { createEmptyStateResource, HasLinkPipe, ToEmbeddedResourcesPipe } from '@goofy-client/tech-shared';
 import { mock } from '@goofy-client/test-utils';
-import { ExpansionPanelComponent } from '@goofy-client/ui';
+import { ExpansionPanelComponent, SpinnerComponent } from '@goofy-client/ui';
 import { VorgangService, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
 import { MockComponent } from 'ng-mocks';
@@ -13,13 +13,13 @@ describe('AnhangListContainerComponent', () => {
 	let component: AnhangListContainerComponent;
 	let fixture: ComponentFixture<AnhangListContainerComponent>;
 
-	const vorgangWithAttachments: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.ATTACHMENTS]);
-	const vorgang: VorgangWithEingangResource = createVorgangWithEingangResource();
+	const emptyAnhaenge: string = '[data-test-id="empty-anhaenge"]';
+	const anhaenge: string = '[data-test-id="anhaenge"]';
 
 	const vorgangService = mock(VorgangService);
 
-	const emptyAnhaenge: string = '[data-test-id="empty-anhaenge"]';
-	const anhaenge: string = '[data-test-id="anhaenge"]';
+	const vorgangWithAttachments: VorgangWithEingangResource = createVorgangWithEingangResource([VorgangWithEingangLinkRel.ATTACHMENTS]);
+	const vorgang: VorgangWithEingangResource = createVorgangWithEingangResource();
 
 	beforeEach(async () => {
 		await TestBed.configureTestingModule({
@@ -28,7 +28,8 @@ describe('AnhangListContainerComponent', () => {
 				HasLinkPipe,
 				ToEmbeddedResourcesPipe,
 				MockComponent(AnhaengeComponent),
-				MockComponent(ExpansionPanelComponent)
+				MockComponent(ExpansionPanelComponent),
+				MockComponent(SpinnerComponent)
 			],
 			providers: [
 				{
@@ -93,9 +94,10 @@ describe('AnhangListContainerComponent', () => {
 	describe('ng on changes', () => {
 
 		it('should call vorgang service getAttachments', () => {
+			component.vorgangWithEingang = vorgang;
 			component.ngOnChanges();
 
-			expect(vorgangService.getAttachments).toHaveBeenCalled();
+			expect(vorgangService.getAttachments).toHaveBeenCalledWith(vorgang);
 		})
 	})
 });
\ No newline at end of file
diff --git a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.ts b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.ts
index 6ed57be6413122ba281173d1f629cdf7772fc0e7..538de97d4480e28226ac7a7ce2434943f57fff74 100644
--- a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.ts
+++ b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.ts
@@ -1,8 +1,8 @@
 import { Component, Input, OnChanges } from '@angular/core';
 import { OzgFileListLinkRel, OzgFileListResource } from '@goofy-client/ozg-file-shared';
-import { StateResource } from '@goofy-client/tech-shared';
+import { createEmptyStateResource, StateResource } from '@goofy-client/tech-shared';
 import { VorgangService, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared';
-import { Observable } from 'rxjs';
+import { Observable, of } from 'rxjs';
 
 @Component({
 	selector: 'goofy-client-anhang-list-container',
@@ -14,13 +14,13 @@ export class AnhangListContainerComponent implements OnChanges {
 	@Input() vorgangWithEingang: VorgangWithEingangResource;
 
 	readonly linkRel = VorgangWithEingangLinkRel;
-	attachmentStateResource$: Observable<StateResource<OzgFileListResource>>;
-
 	readonly fileListRel = OzgFileListLinkRel;
 
+	attachmentStateResource$: Observable<StateResource<OzgFileListResource>> = of(createEmptyStateResource());
+
 	constructor(private vorgangService: VorgangService) { }
 
 	ngOnChanges(): void {
-		this.attachmentStateResource$ = this.vorgangService.getAttachments();
+		this.attachmentStateResource$ = this.vorgangService.getAttachments(this.vorgangWithEingang);
 	}
 }
diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts
index dff9186b05effaeba064300008ad0d9db09c8c24..3461845ce1c44dc7a42614ba4e58cfb6fa02e139 100644
--- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts
+++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts
@@ -170,6 +170,7 @@ describe('VorgangService', () => {
 				service.clearVorgang = jest.fn();
 				service.clearPendingForwardCommand = jest.fn();
 				service.clearPendingSendPostfachMailCommand = jest.fn();
+				service.clearAttachments = jest.fn();
 			})
 
 			it('should clear vorgang', () => {
@@ -178,17 +179,23 @@ describe('VorgangService', () => {
 				expect(service.clearVorgang).toHaveBeenCalled();
 			});
 
-			it('should clear clearPendingForwardCommand', () => {
+			it('should call clearPendingForwardCommand', () => {
 				service.onNavigation({});
 
 				expect(service.clearPendingForwardCommand).toHaveBeenCalled();
 			})
 
-			it('should clear clearPendingSendPostfachMailCommand', () => {
+			it('should call clearPendingSendPostfachMailCommand', () => {
 				service.onNavigation({});
 
 				expect(service.clearPendingSendPostfachMailCommand).toHaveBeenCalled();
 			})
+
+			it('should call clearAttachments', () => {
+				service.onNavigation({});
+
+				expect(service.clearAttachments).toHaveBeenCalled();
+			})
 		});
 	})
 
diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.ts
index a837677fe0c440cfee7d33eb40336b70b58ba474..7f32ad4888013deaf09aa31561bf893230da50f3 100644
--- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.ts
+++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.ts
@@ -59,8 +59,9 @@ export class VorgangService {
 
 	updateVorgang(vorgang: VorgangWithEingangResource): void {
 		this.setVorgangWithEingang(createStateResource(vorgang));
+		//TODO nur laden, wenn es notwendig ist -> im HTML anstoßen
 		this.loadPendingCommandsByVorgang(vorgang);
-		this.loadAttachments(vorgang);
+		//this.loadAttachments(vorgang);
 	}
 
 	setVorgangWithEingang(stateResource: StateResource<VorgangWithEingangResource>) {
@@ -123,20 +124,13 @@ export class VorgangService {
 		stateResource$.next({ ...stateResource$.value, loading: true });
 	}
 
-	loadAttachments(vorgang: VorgangWithEingangResource): void {
-		if (this.hasAttachments(vorgang)) {
+	getAttachments(vorgang: VorgangWithEingangResource): Observable<StateResource<OzgFileListResource>> {
+		doIfLoadingRequired(this.attachments$.value, () => {
 			this.setStateResourceOnLoading(this.attachments$);
 			this.vorgangRepository.getAttachments(vorgang).pipe(first())
 				.subscribe(result => this.attachments$.next(createStateResource(result)))
-		}
-	}
-
-	private hasAttachments(vorgang: VorgangWithEingangResource): boolean {
-		return hasLink(vorgang, VorgangWithEingangLinkRel.ATTACHMENTS);
-	}
-
-	getAttachments(): Observable<StateResource<OzgFileListResource>> {
-		return this.attachments$;
+		})
+		return this.attachments$.asObservable();
 	}
 
 	private listenForLeavingVorgang(): void {
@@ -149,6 +143,7 @@ export class VorgangService {
 			this.clearVorgang();
 			this.clearPendingForwardCommand();
 			this.clearPendingSendPostfachMailCommand();
+			this.clearAttachments();
 		}
 	}
 
@@ -164,6 +159,10 @@ export class VorgangService {
 		this.pendingSendPostfachMailCommand$.next(createEmptyStateResource());
 	}
 
+	clearAttachments(): void {
+		this.attachments$.next(createEmptyStateResource());
+	}
+
 	getVorgang(): VorgangResource {
 		return this.vorgangWithEingang$.value.resource;
 	}