diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js
index 774b1d788062488961e815ef274ca2a6b3850b23..dac3414348846efed6dfe5010f4d79fc5d323b8a 100644
--- a/editors/demo/src/Editors.js
+++ b/editors/demo/src/Editors.js
@@ -48,7 +48,7 @@ const Editors = () => {
       case 'ncbi':
         break;
       default:
-        return <HHMI />;
+        return <Editoria />;
     }
   };
 
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 881606bc8bc269fa54e1a91ac9c66a59cb667300..7b417d0922d3e20567d07029124cfe7ddf88abd3 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -18,20 +18,9 @@ import { PortalContext } from './PortalContext';
 import transformPasted from './helpers/TransformPasted';
 import WaxOptions from './WaxOptions';
 
-let previousDoc;
-
-export default props => {
-  const {
-    readonly,
-    onBlur,
-    options,
-    debug,
-    autoFocus,
-    user,
-    targetFormat,
-    nodeViews,
-  } = props;
+const WaxPortals = ComponentPlugin('waxPortals');
 
+let previousDoc;
 let view;
 export default props => {
   const { readonly, onBlur, debug, autoFocus, user, targetFormat } = props;
@@ -131,11 +120,13 @@ export default props => {
         'main',
       );
     }
-
     if (targetFormat === 'JSON') {
-      props.onChange(schema)(state.doc.toJSON());
+      if (view.state.doc !== previousDoc || tr.getMeta('forceUpdate'))
+        props.onChange(schema)(state.doc.toJSON());
     } else {
-      props.onChange(schema)(state.doc.content);
+      // eslint-disable-next-line no-lonely-if
+      if (view.state.doc !== previousDoc || tr.getMeta('forceUpdate'))
+        props.onChange(schema)(state.doc.content);
     }
   };