diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 5b0112f67024db71843fa49319967ddac274f099..c877bb0ba5d75d5f73f6151badd82bf87fdf4e17 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -116,7 +116,7 @@ const WaxView = forwardRef((props, ref) => {
     const { TrackChange } = props;
     const tr =
       TrackChange && TrackChange.enabled
-        ? trackedTransaction(transaction, view.state, user)
+        ? trackedTransaction(transaction, view.state, user, context)
         : transaction;
 
     previousDoc = view.state.doc;
diff --git a/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
index 28d561edcaa857770610063bb42ef6360773b2a0..d66ad1ae3732616d853af968fdcab78c5143f7d6 100644
--- a/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/helpers/markInsertion.js
@@ -54,10 +54,6 @@ const markInsertion = (tr, from, to, user, date, group, viewId) => {
       // A table was inserted. We don't add track marks to elements inside of it.
       return false;
     }
-    if (node.type.name === 'figure') {
-      console.log('remove placeholder');
-      // TODO delete placeholder
-    }
   });
 };
 
diff --git a/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
index f9e78d7bd617f5850e8b660632b7e8b761a410f9..ea07ab5386ba30f227e7f3f38d14f135b757e542 100644
--- a/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
+++ b/wax-prosemirror-core/src/utilities/track-changes/trackedTransaction.js
@@ -17,6 +17,7 @@ const trackedTransaction = (
   tr,
   state,
   user,
+  context,
   group = 'main',
   viewId = 'main',
 ) => {
@@ -180,7 +181,9 @@ const trackedTransaction = (
 
   if (tr.scrolledIntoView) newTr.scrollIntoView();
 
-  return newTr;
+  console.log(tr.meta);
+  const imagePlaceholder = context.app.PmPlugins.get('imagePlaceHolder');
+  return newTr.setMeta(imagePlaceholder, { remove: { id: {} } });
 };
 
 export default trackedTransaction;
diff --git a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js
index 4675706e774454ee88f48f660ae954ebc2debfe0..4f7df9b727667e6625c5c1189ac5395675cd7de6 100644
--- a/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js
+++ b/wax-prosemirror-services/src/ImageService/plugins/placeHolderPlugin.js
@@ -24,6 +24,11 @@ export default key =>
           set = set.remove(
             set.find(null, null, spec => spec.id === action.remove.id),
           );
+          // HACK to fix
+          if (set?.find().length >= 1) {
+            set = set.remove(set.find()[0]);
+            set.children = [];
+          }
         }
         return set;
       },