diff --git a/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.html b/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.html
index a70383f4bcb5c99d3c73a19cc00d3ade15c5b9e5..12f62f247454fa27425663f3aeacdaed0ae87411 100644
--- a/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.html
+++ b/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.html
@@ -13,7 +13,7 @@
             [dataTestId]="'remove-mapping-button-' + index"
             [attr.data-test-id]="'remove-mapping-' + index"
           >
-            <ods-delete-icon icon />
+            <ods-icon icon name="delete" color="error" />
           </ods-button>
         </div>
         <div class="flex flex-col gap-4">
diff --git a/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.spec.ts b/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.spec.ts
index d5f466dd455aa9a62f69769e5e51c6fa4a22a7a5..4cb8475306350523a0004901c2a89d651997a3eb 100644
--- a/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.spec.ts
+++ b/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.spec.ts
@@ -5,7 +5,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
 import { expect } from '@jest/globals';
 import { TextEditorComponent } from '@ods/component';
-import { ButtonComponent, DeleteIconComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { getDataTestIdOf } from '../../../../../../../../tech-shared/test/data-test';
 import { AggregationMappingFormservice } from '../../aggregation-mapping.formservice';
@@ -51,7 +51,7 @@ describe('AggregationMappingFieldFormComponent', () => {
         AggregationMappingFieldFormComponent,
         MockComponent(TextEditorComponent),
         MockComponent(ButtonComponent),
-        MockComponent(DeleteIconComponent),
+        MockComponent(IconComponent),
       ],
       providers: [
         {
diff --git a/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.ts b/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.ts
index 346d5f27049b36d31cdb49547ffc49607f94496a..5f30dff6d7c0d09174b7c1e0017c1b8e3dee68d2 100644
--- a/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.ts
+++ b/alfa-client/libs/admin/aggregation-mapping/src/lib/aggregation-mapping-form-container/aggregation-mapping-form/aggregation-mapping-field-list-form/aggregation-mapping-field-form/aggregation-mapping-field-form.component.ts
@@ -2,14 +2,14 @@ import { ADMIN_FORMSERVICE } from '@admin-client/shared';
 import { Component, inject, Input } from '@angular/core';
 import { ReactiveFormsModule } from '@angular/forms';
 import { TextEditorComponent } from '@ods/component';
-import { ButtonComponent, DeleteIconComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { AggregationMappingFormservice } from '../../aggregation-mapping.formservice';
 
 @Component({
   selector: 'admin-aggregation-mapping-field-form',
   standalone: true,
   templateUrl: './aggregation-mapping-field-form.component.html',
-  imports: [ButtonComponent, DeleteIconComponent, ReactiveFormsModule, TextEditorComponent],
+  imports: [ButtonComponent, IconComponent, ReactiveFormsModule, TextEditorComponent],
 })
 export class AggregationMappingFieldFormComponent {
   @Input({ required: true }) index: number;
diff --git a/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.html b/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.html
index c006d95c841f7f9686e98a762901b99511a7e101..a9f8785944c5292ea35927f1648d8553fb715059 100644
--- a/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.html
+++ b/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.html
@@ -1,3 +1,3 @@
 <ods-open-dialog-button variant="outline_error" label="Löschen" dataTestId="delete-button">
-  <ods-delete-icon icon />
+  <ods-icon icon name="delete" color="error" />
 </ods-open-dialog-button>
diff --git a/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.spec.ts b/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.spec.ts
index 3250b9c18a432b0f5e8fe523fdb25d79e82f10be..09555f5f7e99ff6d177d404458c29c46b93c40d4 100644
--- a/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.spec.ts
+++ b/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.spec.ts
@@ -1,6 +1,6 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { OpenDialogButtonComponent } from '@ods/component';
-import { DeleteIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { AdminDeleteOpenDialogButtonComponent } from './admin-delete-open-dialog-button.component';
 
@@ -11,7 +11,7 @@ describe('AdminDeleteOpenDialogButtonComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [AdminDeleteOpenDialogButtonComponent],
-      declarations: [MockComponent(OpenDialogButtonComponent), MockComponent(DeleteIconComponent)],
+      declarations: [MockComponent(OpenDialogButtonComponent), MockComponent(IconComponent)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(AdminDeleteOpenDialogButtonComponent);
diff --git a/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.ts b/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.ts
index f9bcd3472723a4cfe91fbc91f897fedd16b76db9..0dd72cbdcf52fb0ca8b011f41924c22df72d3d37 100644
--- a/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.ts
+++ b/alfa-client/libs/admin/shared/src/lib/admin-delete-open-dialog-button/admin-delete-open-dialog-button.component.ts
@@ -1,11 +1,11 @@
 import { Component } from '@angular/core';
 import { OpenDialogButtonComponent } from '@ods/component';
-import { DeleteIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 
 @Component({
   selector: 'admin-delete-open-dialog-button',
   standalone: true,
-  imports: [DeleteIconComponent, OpenDialogButtonComponent],
+  imports: [OpenDialogButtonComponent, IconComponent],
   templateUrl: './admin-delete-open-dialog-button.component.html',
 })
 export class AdminDeleteOpenDialogButtonComponent {}
diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts
index 425ba58f6548d9a7f238fc802c43faf1b79cdc65..0e0db7fec4bb17c752095b7ca7b992e8b6d66b63 100644
--- a/alfa-client/libs/design-system/src/index.ts
+++ b/alfa-client/libs/design-system/src/index.ts
@@ -45,7 +45,6 @@ export * from './lib/form/textarea/textarea.component';
 export * from './lib/forwarding-item/forwarding-item-info/forwarding-item-info.component';
 export * from './lib/forwarding-item/forwarding-item.component';
 export * from './lib/icon/icon.component';
-export * from './lib/icons/delete-icon/delete-icon.component';
 export * from './lib/icons/delete-vorgang-finally-icon/delete-vorgang-finally-icon.component';
 export * from './lib/icons/discard-vorgang-icon/discard-vorgang-icon.component';
 export * from './lib/icons/edit-icon/edit-icon.component';
diff --git a/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.component.spec.ts
deleted file mode 100644
index 354449bdfb0652606ec23dee7b970a5d793fd292..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.component.spec.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { DeleteIconComponent } from './delete-icon.component';
-
-describe('DeleteIconComponent', () => {
-  let component: DeleteIconComponent;
-  let fixture: ComponentFixture<DeleteIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [DeleteIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(DeleteIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.component.ts
deleted file mode 100644
index fc06f683c6790f219c7c08fb258764b35cdf2b6c..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.component.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { CommonModule } from '@angular/common';
-import { Component, Input } from '@angular/core';
-import { twMerge } from 'tailwind-merge';
-import { IconVariants, iconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-delete-icon',
-  standalone: true,
-  imports: [CommonModule],
-  template: `<svg
-    viewBox="0 0 24 24"
-    xmlns="http://www.w3.org/2000/svg"
-    [ngClass]="[twMerge(iconVariants({ size }), 'fill-error', class)]"
-    aria-hidden="true"
-  >
-    <path
-      d="M7 21C6.45 21 5.97917 20.8042 5.5875 20.4125C5.19583 20.0208 5 19.55 5 19V6H4V4H9V3H15V4H20V6H19V19C19 19.55 18.8042 20.0208 18.4125 20.4125C18.0208 20.8042 17.55 21 17 21H7ZM17 6H7V19H17V6ZM9 17H11V8H9V17ZM13 17H15V8H13V17Z"
-    />
-  </svg> `,
-})
-export class DeleteIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = '';
-
-  readonly iconVariants = iconVariants;
-  readonly twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.stories.ts
deleted file mode 100644
index 4602289bc57c1be551e4bf2ba29003ab4bd7de31..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/delete-icon/delete-icon.stories.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { Meta, StoryObj } from '@storybook/angular';
-
-import { DeleteIconComponent } from './delete-icon.component';
-
-const meta: Meta<DeleteIconComponent> = {
-  title: 'Icons/Delete icon',
-  component: DeleteIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<DeleteIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'large' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};