diff --git a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
index 48192a42233ab0e885b47353dbc3fd4acc8a3a4a..9589c1b3cc34a375a081681a8820816cc8fcf0c6 100644
--- a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
+++ b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
@@ -1,4 +1,6 @@
-import { Mapping, RemoveMarkStep } from 'prosemirror-transform';
+import { Mapping, RemoveMarkStep, ReplaceStep } from 'prosemirror-transform';
+import { Slice } from 'prosemirror-model';
+
 import { minBy, maxBy } from 'lodash';
 
 import { injectable } from 'inversify';
@@ -21,6 +23,17 @@ class AcceptTrackChange extends Tools {
 
       state.doc.nodesBetween(from, to, (node, pos) => {
         if (
+          node.marks &&
+          node.marks.find(mark => mark.type.name === 'deletion')
+        ) {
+          const deletionStep = new ReplaceStep(
+            map.map(Math.max(pos, from)),
+            map.map(Math.min(pos + node.nodeSize, to)),
+            Slice.empty,
+          );
+          tr.step(deletionStep);
+          map.appendMap(deletionStep.getMap());
+        } else if (
           node.marks &&
           node.marks.find(mark => mark.type.name === 'insertion')
         ) {
@@ -29,13 +42,14 @@ class AcceptTrackChange extends Tools {
           );
           tr.step(
             new RemoveMarkStep(
-              map.map(maxBy(pos, from)),
-              map.map(minBy(pos + node.nodeSize, to)),
+              map.map(Math.max(pos, from)),
+              map.map(Math.min(pos + node.nodeSize, to)),
               insertionMark,
             ),
           );
         }
       });
+
       dispatch(tr);
     };
   }