diff --git a/wax-prosemirror-components/src/components/comments/Comment.js b/wax-prosemirror-components/src/components/comments/Comment.js
index 346b0c220288f184ff52bc39d555df81308fc9d8..6845cc58adf9f372f9d7b21f6b71912bbc87ea2d 100644
--- a/wax-prosemirror-components/src/components/comments/Comment.js
+++ b/wax-prosemirror-components/src/components/comments/Comment.js
@@ -85,7 +85,6 @@ export default ({ comment, activeView, user, active }) => {
     }
 
     if (conversation.length === 0 && value === '') {
-      console.log('here?');
       resolveComment();
     }
   };
diff --git a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
index 3c4d0b4946ce309124de63bbe92beec55250eec5..5fa2fe0eb554a59301c69a0daa4a0475c905f5db 100644
--- a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
+++ b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
@@ -1,9 +1,7 @@
 import { Mapping, RemoveMarkStep, ReplaceStep } from 'prosemirror-transform';
 import { Slice } from 'prosemirror-model';
-
-import { minBy, maxBy } from 'lodash';
-
 import { injectable } from 'inversify';
+import removeNode from '../track-changes/helpers/removeNode';
 import Tools from '../../lib/Tools';
 
 export default
@@ -18,10 +16,17 @@ class AcceptTrackChange extends Tools {
         tr,
         selection: { from, to },
       } = state;
+
       tr.setMeta('AcceptReject', true);
       const map = new Mapping();
 
       state.doc.nodesBetween(from, to, (node, pos) => {
+        if (
+          node.attrs.track &&
+          node.attrs.track.find(track => track.type === 'deletion')
+        ) {
+          removeNode(tr, node, pos, map, true);
+        }
         if (
           node.marks &&
           node.marks.find(mark => mark.type.name === 'deletion')
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
index bb4ba72bf2ebd1441b9385fc88669bc8db632b0a..3b9c686d5a6bb0c30fecae2aa16c765131a79b7b 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/helpers/markDeletion.js
@@ -1,58 +1,53 @@
-import { Selection, TextSelection } from "prosemirror-state";
-import { Slice } from "prosemirror-model";
-import { ReplaceStep, Mapping } from "prosemirror-transform";
+import { Selection, TextSelection } from 'prosemirror-state';
+import { Slice } from 'prosemirror-model';
+import { ReplaceStep, Mapping } from 'prosemirror-transform';
 
 const markDeletion = (tr, from, to, user, date, group) => {
   const deletionMark = tr.doc.type.schema.marks.deletion.create({
     user: user.userId,
-    username: user.username
+    username: user.username,
     // date
   });
-  let firstTableCellChild = false;
+
   const deletionMap = new Mapping();
-  // Add deletion mark to block nodes (figures, text blocks) and find already deleted inline nodes (and leave them alone)
+
   tr.doc.nodesBetween(from, to, (node, pos) => {
-    if (pos < from && node.type.name === "table_cell") {
-      firstTableCellChild = true;
-      return true;
-    } else if ((pos < from && node.isBlock) || firstTableCellChild) {
-      firstTableCellChild = false;
-      return true;
-    } else if (["table_row", "table_cell"].includes(node.type.name)) {
-      return false;
-    } else if (
+    if (node.type.name.includes('table')) {
+      return;
+    }
+    if (
       node.isInline &&
       node.marks.find(
         mark =>
-          mark.type.name === "insertion" && mark.attrs.user === user.userId
+          mark.type.name === 'insertion' && mark.attrs.user === user.userId,
       )
     ) {
       const removeStep = new ReplaceStep(
         deletionMap.map(Math.max(from, pos)),
         deletionMap.map(Math.min(to, pos + node.nodeSize)),
-        Slice.empty
+        Slice.empty,
       );
       if (!tr.maybeStep(removeStep).failed) {
         deletionMap.appendMap(removeStep.getMap());
       }
     } else if (
       node.isInline &&
-      !node.marks.find(mark => mark.type.name === "deletion")
+      !node.marks.find(mark => mark.type.name === 'deletion')
     ) {
       tr.addMark(
         deletionMap.map(Math.max(from, pos)),
         deletionMap.map(Math.min(to, pos + node.nodeSize)),
-        deletionMark
+        deletionMark,
       );
     } else if (
       node.attrs.track &&
-      !node.attrs.track.find(trackAttr => trackAttr.type === "deletion") &&
-      !["bullet_list", "ordered_list"].includes(node.type.name)
+      !node.attrs.track.find(trackAttr => trackAttr.type === 'deletion') &&
+      !['bullet_list', 'ordered_list'].includes(node.type.name)
     ) {
       if (
         node.attrs.track.find(
           trackAttr =>
-            trackAttr.type === "insertion" && trackAttr.user === user.userId
+            trackAttr.type === 'insertion' && trackAttr.user === user.userId,
         )
       ) {
         let removeStep;
@@ -64,14 +59,14 @@ const markDeletion = (tr, from, to, user, date, group) => {
             removeStep = new ReplaceStep(
               deletionMap.map(selectionBefore.$anchor.pos),
               deletionMap.map(to),
-              Slice.empty
+              Slice.empty,
             );
           }
         } else {
           removeStep = new ReplaceStep(
             deletionMap.map(Math.max(from, pos)),
             deletionMap.map(Math.min(to, pos + node.nodeSize)),
-            Slice.empty
+            Slice.empty,
           );
         }
 
@@ -79,19 +74,21 @@ const markDeletion = (tr, from, to, user, date, group) => {
           deletionMap.appendMap(removeStep.getMap());
         }
       } else {
-        const track = node.attrs.track.slice();
-        track.push({
-          type: "deletion",
-          user: user.userId,
-          username: user.username
-          // date
-        });
-        tr.setNodeMarkup(
-          deletionMap.map(pos),
-          null,
-          Object.assign({}, node.attrs, { track }),
-          node.marks
-        );
+        if (node.content.size === 0) {
+          const track = node.attrs.track.slice();
+          track.push({
+            type: 'deletion',
+            user: user.userId,
+            username: user.username,
+            // date
+          });
+          tr.setNodeMarkup(
+            deletionMap.map(pos),
+            null,
+            Object.assign({}, node.attrs, { track }),
+            node.marks,
+          );
+        }
       }
     }
   });
diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
index d891fb64eda079b0b4040eb37730771239b08cc3..bdb8990b1c2a5c16003d27e97cad88a6a23503a3 100644
--- a/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-services/src/TrackChangeService/track-changes/trackedTransaction.js
@@ -98,10 +98,10 @@ const trackedTransaction = (tr, state, user) => {
       const caretPos = map.map(tr.selection.from - 2, -1);
       newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
     } else {
-      const slice = map.slice(newTr.selection.from, newTr.selection.to);
-      map.appendMap(slice);
-      // const caretPos = map.map(tr.selection.from, -1);
-      // newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
+      const caretPos = map.map(tr.selection.from, -1);
+      newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
+      // const slice = map.slice(newTr.selection.from, newTr.selection.to);
+      // map.appendMap(slice);
     }
   }
   if (tr.storedMarksSet) {