diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.html b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.html
index a5d3d8ee19423a50b9e5e505bf17c6eb6e59ccb5..cfa93fbc6b3b9dbd01834a8d31c1bf74f4088299 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.html
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.html
@@ -23,8 +23,9 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-@if (binaryFileList) {
-  <ods-attachment-wrapper>
-    <alfa-binary-file-list [binaryFileList]="binaryFileList" [listOrientation]="listOrientation" />
-  </ods-attachment-wrapper>
-}
+<ods-attachment-wrapper>
+  <alfa-binary-file-list
+    [binaryFileListStateResource]="binaryFileListStateResource$ | async"
+    [listOrientation]="listOrientation"
+  ></alfa-binary-file-list>
+</ods-attachment-wrapper>
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.spec.ts b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.spec.ts
index 885d5d27a66efaeb40e894a344d7fbbf692abb22..e9473e9ee486bc437328ee6fe85227d12c6293e5 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.spec.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.spec.ts
@@ -42,11 +42,9 @@ describe('BinaryFileListContainerComponent', () => {
 
   const binaryFileService: Mock<BinaryFileService> = mock(BinaryFileService);
 
-  const fileList: Resource[] = [];
-  const binaryFileStateResource: StateResource<BinaryFileResource> = createStateResource({
-    ...createBinaryFileResource(),
-    _embedded: { ozgFileList: fileList },
-  });
+  const binaryFileStateResource: StateResource<BinaryFileResource> = createStateResource(
+    createBinaryFileResource(),
+  );
   const resource: Resource = createDummyResource();
   const linkRel: LinkRelationName = DummyLinkRel.DUMMY;
 
@@ -83,31 +81,14 @@ describe('BinaryFileListContainerComponent', () => {
 
       expect(binaryFileService.getFiles).toHaveBeenCalledWith(resource, linkRel);
     });
-
-    it('should NOT set binaryFileList', () => {
-      component.binaryFileList = null;
-      binaryFileService.getFiles.mockReturnValue(of(createStateResource(null)));
-
-      component.ngOnInit();
-
-      expect(component.binaryFileList).toBe(null);
-    });
-
-    it('should set binaryFileList', () => {
-      component.ngOnInit();
-
-      expect(component.binaryFileList).toBe(fileList);
-    });
   });
 
   describe('binary file list', () => {
     it('should be called with binary file state resource', () => {
-      const binaryFileListComponent: BinaryFileListComponent = getMockComponent<BinaryFileListComponent>(
-        fixture,
-        BinaryFileListComponent,
-      );
+      const binaryFileListComponent: BinaryFileListComponent =
+        getMockComponent<BinaryFileListComponent>(fixture, BinaryFileListComponent);
 
-      expect(binaryFileListComponent.binaryFileList).toBe(fileList);
+      expect(binaryFileListComponent.binaryFileListStateResource).toBe(binaryFileStateResource);
     });
   });
 });
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.ts b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.ts
index c5cc042d55293d3b46f144942ac7d6c0145e1078..b4dce3b40b8590f8037ad669d5469f6c88942f93 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list-container.component.ts
@@ -21,38 +21,27 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { BinaryFile, BinaryFileListLinkRel, BinaryFileListResource, BinaryFileService } from '@alfa-client/binary-file-shared';
-import { isNotNull, LinkRelationName, StateResource } from '@alfa-client/tech-shared';
-import { Component, Input, OnDestroy, OnInit } from '@angular/core';
-import { getEmbeddedResource, Resource } from '@ngxp/rest';
-import { filter, Subscription } from 'rxjs';
+import { BinaryFileListResource, BinaryFileService } from '@alfa-client/binary-file-shared';
+import { LinkRelationName, StateResource } from '@alfa-client/tech-shared';
+import { Component, Input, OnInit } from '@angular/core';
+import { Resource } from '@ngxp/rest';
+import { Observable } from 'rxjs';
 import { BinaryFileListOrientation } from '../directive/binary-file-list-orientation/binary-file-list-orientation.directive';
 
 @Component({
   selector: 'alfa-binary-file-list-container',
   templateUrl: './binary-file-list-container.component.html',
 })
-export class BinaryFileListContainerComponent implements OnInit, OnDestroy {
+export class BinaryFileListContainerComponent implements OnInit {
   @Input() resource: Resource;
   @Input() linkRel: LinkRelationName;
   @Input() listOrientation: BinaryFileListOrientation = BinaryFileListOrientation.HORIZONTAL;
 
-  public binaryFileList: BinaryFile[];
-  public readonly binaryFileListLinkRel = BinaryFileListLinkRel;
-  binaryFileListSubscription: Subscription;
+  public binaryFileListStateResource$: Observable<StateResource<BinaryFileListResource>>;
 
   constructor(private service: BinaryFileService) {}
 
   ngOnInit(): void {
-    this.binaryFileListSubscription = this.service
-      .getFiles(this.resource, this.linkRel)
-      .pipe(filter((stateResource) => isNotNull(stateResource.resource)))
-      .subscribe((stateResource: StateResource<BinaryFileListResource>) => {
-        this.binaryFileList = getEmbeddedResource(stateResource.resource, this.binaryFileListLinkRel.FILE_LIST);
-      });
-  }
-
-  ngOnDestroy() {
-    this.binaryFileListSubscription.unsubscribe();
+    this.binaryFileListStateResource$ = this.service.getFiles(this.resource, this.linkRel);
   }
 }
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.html b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.html
index 33eab42685293e80d8a58610efaf4aa5b38efd4e..70054de869940144f9b0e1d3fa0eb7c23ea72a33 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.html
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.html
@@ -24,5 +24,10 @@
 
 -->
 <div [binaryFileListOrientation]="listOrientation">
-  <alfa-binary-file2-container *ngFor="let binaryFile of binaryFileList" [file]="binaryFile" [deletable]="false" />
+  <alfa-binary-file2-container
+    *ngFor="let binaryFile of binaryFileListStateResource.resource | toEmbeddedResources: binaryFileListLinkRel.FILE_LIST"
+    [file]="binaryFile"
+    [deletable]="false"
+  >
+  </alfa-binary-file2-container>
 </div>
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.spec.ts b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.spec.ts
index c3206eec76019cf1f7999bfaf0cec5208db594d5..fbbc820600ee4d1b3a9235dafd3515f9c1f16404 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.spec.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.spec.ts
@@ -21,11 +21,11 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { BinaryFileResource } from '@alfa-client/binary-file-shared';
-import { ToEmbeddedResourcesPipe } from '@alfa-client/tech-shared';
+import { BinaryFileListResource, BinaryFileResource } from '@alfa-client/binary-file-shared';
+import { createStateResource, StateResource, ToEmbeddedResourcesPipe } from '@alfa-client/tech-shared';
 import { getMockComponent } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { createBinaryFileResource } from 'libs/binary-file-shared/test/binary-file';
+import { createBinaryFileListResource, createBinaryFileResource } from 'libs/binary-file-shared/test/binary-file';
 import { MockComponent, MockDirective } from 'ng-mocks';
 import { BinaryFile2ContainerComponent } from '../../binary-file2-container/binary-file2-container.component';
 import { BinaryFileListOrientationDirective } from '../../directive/binary-file-list-orientation/binary-file-list-orientation.directive';
@@ -36,6 +36,9 @@ describe('BinaryFileListComponent', () => {
   let fixture: ComponentFixture<BinaryFileListComponent>;
 
   const binaryFile: BinaryFileResource = createBinaryFileResource();
+  const binaryFileListStateResource: StateResource<BinaryFileListResource> = createStateResource(
+    createBinaryFileListResource([binaryFile]),
+  );
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
@@ -49,7 +52,7 @@ describe('BinaryFileListComponent', () => {
 
     fixture = TestBed.createComponent(BinaryFileListComponent);
     component = fixture.componentInstance;
-    component.binaryFileList = [binaryFile];
+    component.binaryFileListStateResource = binaryFileListStateResource;
     fixture.detectChanges();
   });
 
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.ts b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.ts
index 7d7e50bb090ffdda9ea58f2d297d08617d632ab9..f0ddb940344f0afeabe9b855b04a1d189b9f2840 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file-list-container/binary-file-list/binary-file-list.component.ts
@@ -21,7 +21,8 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { BinaryFile } from '@alfa-client/binary-file-shared';
+import { BinaryFileListLinkRel, BinaryFileListResource } from '@alfa-client/binary-file-shared';
+import { StateResource } from '@alfa-client/tech-shared';
 import { Component, Input } from '@angular/core';
 import { BinaryFileListOrientation } from '../../directive/binary-file-list-orientation/binary-file-list-orientation.directive';
 
@@ -30,6 +31,8 @@ import { BinaryFileListOrientation } from '../../directive/binary-file-list-orie
   templateUrl: './binary-file-list.component.html',
 })
 export class BinaryFileListComponent {
-  @Input() public binaryFileList: BinaryFile[];
+  @Input() public binaryFileListStateResource: StateResource<BinaryFileListResource>;
   @Input() listOrientation: BinaryFileListOrientation = BinaryFileListOrientation.HORIZONTAL;
+
+  public readonly binaryFileListLinkRel = BinaryFileListLinkRel;
 }