diff --git a/wax-prosemirror-components/src/components/comments/ConnectedComment.js b/wax-prosemirror-components/src/components/comments/ConnectedComment.js
index acb054b8940b4152e8bccea7de2a67356d9fe3d4..ccbd8e6a738479dcac30f048a042ce11affb105d 100644
--- a/wax-prosemirror-components/src/components/comments/ConnectedComment.js
+++ b/wax-prosemirror-components/src/components/comments/ConnectedComment.js
@@ -74,14 +74,16 @@ export default ({ comment, top, commentId, recalculateTops }) => {
 
     allCommentsWithSameId.forEach(singleComment => {
       dispatch(
-        tr.addMark(
-          singleComment.pos,
-          singleComment.pos + singleComment.nodeSize,
-          commentMark.create({
-            ...((comment && comment.attrs) || {}),
-            conversation: comment.attrs.conversation,
-          }),
-        ),
+        tr
+          .addMark(
+            singleComment.pos,
+            singleComment.pos + singleComment.nodeSize,
+            commentMark.create({
+              ...((comment && comment.attrs) || {}),
+              conversation: comment.attrs.conversation,
+            }),
+          )
+          .setMeta('forceUpdate', true),
       );
     });
     activeView.focus();
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index b195a3a641ec5b3c501102474cd78341887b4b8f..4f539788ccc9f36ff0edf93ce8f6cdd3b7d8f109 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -1,4 +1,10 @@
-import React, { useRef, useContext, useCallback, useMemo } from 'react';
+import React, {
+  useRef,
+  useContext,
+  useCallback,
+  useMemo,
+  useState,
+} from 'react';
 
 import applyDevTools from 'prosemirror-dev-tools';
 import { EditorState } from 'prosemirror-state';
@@ -10,12 +16,14 @@ import { trackedTransaction } from 'wax-prosemirror-services';
 import { WaxContext } from './WaxContext';
 import transformPasted from './helpers/TransformPasted';
 
+let previousDoc;
+
 export default props => {
   const { readonly, onBlur, options, debug, autoFocus, user } = props;
   const editorRef = useRef();
   let view;
   const context = useContext(WaxContext);
-
+  const [previousState, setPreviousState] = useState();
   const setEditorRef = useCallback(
     node => {
       if (editorRef.current) {
@@ -75,6 +83,7 @@ export default props => {
         ? trackedTransaction(transaction, view.state, user)
         : transaction;
 
+    previousDoc = view.state.doc;
     const state = view.state.apply(tr);
     view.updateState(state);
 
@@ -90,8 +99,8 @@ export default props => {
         'main',
       );
     }
-
-    props.onChange(state.doc.content);
+    if (view.state.doc !== previousDoc || tr.getMeta('forceUpdate'))
+      props.onChange(state.doc.content);
   };
 
   const editor = <div ref={setEditorRef} />;
diff --git a/wax-prosemirror-core/src/plugins/placeholder.js b/wax-prosemirror-core/src/plugins/placeholder.js
index 9a1595255314421161ae17a4222cffdf09e491a2..de3fd8058b9735f9951aa71c2bc5cb74a75b28a1 100644
--- a/wax-prosemirror-core/src/plugins/placeholder.js
+++ b/wax-prosemirror-core/src/plugins/placeholder.js
@@ -1,7 +1,7 @@
-import { Plugin, PluginKey } from "prosemirror-state";
-import { Decoration, DecorationSet } from "prosemirror-view";
+import { Plugin, PluginKey } from 'prosemirror-state';
+import { Decoration, DecorationSet } from 'prosemirror-view';
 
-const placeHolderText = new PluginKey("placeHolderText");
+const placeHolderText = new PluginKey('placeHolderText');
 
 export default props => {
   return new Plugin({
@@ -17,16 +17,16 @@ export default props => {
           ) {
             decorations.push(
               Decoration.node(pos, pos + node.nodeSize, {
-                class: "empty-node",
-                "data-content": props.content
-              })
+                class: 'empty-node',
+                'data-content': props.content,
+              }),
             );
           }
         };
         state.doc.descendants(decorate);
 
         return DecorationSet.create(state.doc, decorations);
-      }
-    }
+      },
+    },
   });
 };