diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/SwitchComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/SwitchComponent.js
index 7507b8b460cfd0d40b08e8354e1104b46a93b733..5b8de36a4987361efefd43c87f3ddcbdc58259b0 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/SwitchComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/components/SwitchComponent.js
@@ -33,29 +33,31 @@ const CustomSwitch = ({ node, getPos }) => {
 
   const handleChange = () => {
     setChecked(!checked);
-
-    main.state.doc.descendants((editorNode, pos) => {
-      if (editorNode.type.name === 'multiple_choice_single_correct_container') {
-        editorNode.content.content.forEach(element => {
-          if (element.attrs.id === node.attrs.id) {
-            main.dispatch(
-              main.state.tr.setNodeMarkup(getPos(), undefined, {
-                ...element.attrs,
-                correct: !checked,
-              }),
-            );
-          } else if (element.attrs.correct) {
-            // console.log(element);
-            // main.dispatch(
-            //   main.state.tr.setNodeMarkup(getPos() + 4, undefined, {
-            //     ...element.attrs,
-            //     correct: false,
-            //   }),
-            // );
+    const { tr } = main.state;
+    main.state.doc.descendants((parentNode, parentPos) => {
+      if (parentNode.type.name === 'multiple_choice_single_correct_container') {
+        parentNode.descendants((element, position) => {
+          if (
+            element.type.name === 'multiple_choice_single_correct' &&
+            element.attrs.id === node.attrs.id
+          ) {
+            tr.setNodeMarkup(getPos(), undefined, {
+              ...element.attrs,
+              correct: !checked,
+            });
+          } else if (
+            element.type.name === 'multiple_choice_single_correct' &&
+            element.attrs.correct
+          ) {
+            tr.setNodeMarkup(parentPos + position + 1, undefined, {
+              ...element.attrs,
+              correct: false,
+            });
           }
         });
       }
     });
+    main.dispatch(tr);
   };
 
   return (
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js
index 8f6db320254edff86987dfc4864456155f40f838..ab224fb26658ad80c4733265b4fff7e0105643f1 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceSingleCorrectQuestionService/schema/multipleChoiceSingleCorrectContainerNode.js
@@ -1,6 +1,8 @@
+import { v4 as uuidv4 } from 'uuid';
+
 const multipleChoiceSingleCorrectContainerNode = {
   attrs: {
-    id: { default: '' },
+    id: { default: uuidv4() },
     class: { default: 'multiple-choice-single-correct' },
     correctId: { default: '' },
   },