diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js
index 26e1ee0b575c419a8e1817821b9820efdf19b731..4c3b79cdcd3e75fd01925ca7978543b1e2109651 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js
@@ -21,10 +21,7 @@ const FeedBackInput = styled.input`
 
 export default ({ node, view, getPos }) => {
   const context = useContext(WaxContext);
-  const {
-    view: { main },
-    activeViewId,
-  } = context;
+  const { activeViewId } = context;
   const [feedBack, setFeedBack] = useState(node.attrs.feedback);
   const feedBackRef = useRef(null);
 
diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/QuestionComponent.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/QuestionComponent.js
index 8ea0fe6219498bfd23688b1b9db61d43de68e777..e0593fac19163e09591b3545c352a94067a64e38 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/QuestionComponent.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/QuestionComponent.js
@@ -132,7 +132,7 @@ export default ({ node, view, getPos }) => {
           <QuestionData>
             <EditorComponent node={node} view={view} getPos={getPos} />
 
-            <SwitchComponent node={node} />
+            <SwitchComponent node={node} getPos={getPos} />
           </QuestionData>
           <FeedbackComponent node={node} view={view} getPos={getPos} />
         </QuestionWrapper>
diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/SwitchComponent.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/SwitchComponent.js
index 2c57ba246bf8cff184f93d7a83dc983a0dda37e8..702ae222664dfe2cea5a9df6b2cec85a4c43d317 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/SwitchComponent.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/SwitchComponent.js
@@ -1,4 +1,5 @@
-import React, { useState } from 'react';
+import React, { useState, useContext } from 'react';
+import { WaxContext } from 'wax-prosemirror-core';
 import styled from 'styled-components';
 import Switch from './Switch';
 
@@ -19,10 +20,19 @@ const StyledSwitch = styled(Switch)`
   }
 `;
 
-const CustomSwitch = ({ node }) => {
+const CustomSwitch = ({ node, getPos }) => {
+  const context = useContext(WaxContext);
+  const { activeViewId } = context;
   const [checked, setChecked] = useState(false);
+
   const handleChange = () => {
     setChecked(!checked);
+    context.view.main.dispatch(
+      context.view.main.state.tr.setNodeMarkup(getPos(), undefined, {
+        ...node.attrs,
+        correct: !checked,
+      }),
+    );
   };
 
   return (
diff --git a/wax-prosemirror-services/src/PortalService/AbstractNodeView.js b/wax-prosemirror-services/src/PortalService/AbstractNodeView.js
index d51b293b35bcf0335da1016428ae8d22829a0072..8542284b27a6c7075357f0f0fd1df84513000781 100644
--- a/wax-prosemirror-services/src/PortalService/AbstractNodeView.js
+++ b/wax-prosemirror-services/src/PortalService/AbstractNodeView.js
@@ -23,7 +23,7 @@ export default class AbstractNodeView {
   }
 
   update(node) {
-    if (!node.sameMarkup(this.node)) return false;
+    // if (!node.sameMarkup(this.node)) return false;
     this.node = node;
     if (this.context.view[node.attrs.id]) {
       const { state } = this.context.view[node.attrs.id];