diff --git a/wax-prosemirror-core/src/trackedTransaction.js b/wax-prosemirror-core/src/trackedTransaction.js
index e9c1dad2e035623643708e9b6a389b44b5ba6d21..6ef0d16210ae26ef69de3c3a0425377454d2097a 100644
--- a/wax-prosemirror-core/src/trackedTransaction.js
+++ b/wax-prosemirror-core/src/trackedTransaction.js
@@ -489,8 +489,14 @@ const trackedTransaction = (tr, state, editor) => {
   }
   if (tr.scrolledIntoView) {
     newTr.scrollIntoView();
-    const caretPos = map.map(tr.selection.from, -1);
-    newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
+    if (
+      tr.selection instanceof TextSelection &&
+      (tr.selection.from < state.selection.from ||
+        tr.getMeta("inputType") === "deleteContentBackward")
+    ) {
+      const caretPos = map.map(tr.selection.from, -1);
+      newTr.setSelection(new TextSelection(newTr.doc.resolve(caretPos)));
+    }
   }
   return newTr;
 };