diff --git a/docs/release-notes-player.md b/docs/release-notes-player.md
index ee7edd466667fd4c9ffe9a030560981bba46628a..6d5a81482261747489274d3c963f571d7c65e1f5 100644
--- a/docs/release-notes-player.md
+++ b/docs/release-notes-player.md
@@ -1,5 +1,9 @@
 Player
 ======
+## 2.6.4
+### Fehlerbehebungen
+- Fasst aufeinanderfolgende markierte Wörter in den Antwortdaten von Texten zu Bereichen zusammen  
+
 ## 2.6.0
 ### Neue Funktionen
 - Unterstützt Verona API 6.0
diff --git a/projects/player/src/app/classes/markable-support.ts b/projects/player/src/app/classes/markable-support.ts
index b03c4b36af891efaa979d1c97d203ebf93f1bba6..f3f61d183e8fb27f7bfdd6b9a3fd4394e37390d9 100644
--- a/projects/player/src/app/classes/markable-support.ts
+++ b/projects/player/src/app/classes/markable-support.ts
@@ -25,12 +25,25 @@ export class MarkableSupport {
 
   createMarkables(savedMarks: string[], elementComponent: TextComponent): void {
     const nodes = MarkableSupport.getNodes(elementComponent.textContainerRef.nativeElement.childNodes);
-    const markablesContainers = MarkableSupport.getMarkablesContainers(nodes, savedMarks);
+    const markablesContainers = MarkableSupport
+      .getMarkablesContainers(nodes, MarkableSupport.expandSavedMarks(savedMarks));
     const markables = markablesContainers
       .flatMap((markablesContainer: MarkablesContainer) => markablesContainer.markables);
     this.createComponents(markablesContainers, elementComponent, markables);
   }
 
+  private static expandSavedMarks(savedMarks: string[]): string[] {
+    return savedMarks.flatMap(range => {
+      const [start, end, color] = range.split('-');
+      const startIndex = parseInt(start, 10);
+      const endIndex = parseInt(end, 10);
+      return Array.from({ length: endIndex - startIndex + 1 }, (_, i) => {
+        const currentIdx = startIndex + i;
+        return `${currentIdx}-${currentIdx}-${color}`;
+      });
+    });
+  }
+
   private createComponents(markablesContainers: MarkablesContainer[],
                            elementComponent: TextComponent,
                            markables: Markable[]): void {
diff --git a/projects/player/src/app/services/element-model-element-code-mapping.service.ts b/projects/player/src/app/services/element-model-element-code-mapping.service.ts
index 616c0cb4b6d72c040a652bd3af633b6c7a03ae2b..e53144c95e14fdc3baec54effdd33c822bb04b3c 100644
--- a/projects/player/src/app/services/element-model-element-code-mapping.service.ts
+++ b/projects/player/src/app/services/element-model-element-code-mapping.service.ts
@@ -101,7 +101,7 @@ export class ElementModelElementCodeMappingService {
         }
         if (options && (options.markingMode === 'word' || options.markingMode === 'range')) {
           return ElementModelElementCodeMappingService
-            .getMarkedMarkables(elementModelValue as Markable[]);
+            .getMarkedMarkablesInSelectionFormat(elementModelValue as Markable[]);
         }
         return [];
       case 'radio':
@@ -119,14 +119,22 @@ export class ElementModelElementCodeMappingService {
     return this.dragNDropValueObjects.find(dropListValue => dropListValue.alias === alias);
   }
 
-  static getMarkedMarkables(markables: Markable[]): string[] {
+  static getMarkedMarkablesInSelectionFormat(markables: Markable[]): string[] {
     return markables
       .filter((markable: Markable) => !!markable.color)
-      .map((markable: Markable) => ElementModelElementCodeMappingService
-        .mapToTextSelectionFormat(markable, markable.color));
-  }
-
-  private static mapToTextSelectionFormat(markable: Markable, color: string | null): string {
-    return `${markable.id}-${markable.id}-${color}`;
+      .reduce((acc: [number, number, (string | null)][], markable: Markable) => {
+        const [start, end, color] = [markable.id, markable.id, markable.color];
+        const lastEntry = acc[acc.length - 1];
+        if (lastEntry) {
+          const [lastStart, lastEnd, lastColor] = lastEntry;
+          if (lastColor === color && +lastEnd + 1 === +start) {
+            acc[acc.length - 1] = [lastStart, end, color];
+            return acc;
+          }
+        }
+        acc.push([start, end, color]);
+        return acc;
+      }, [])
+      .map(e => `${e[0]}-${e[1]}-${e[2]}`);
   }
 }