diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js
index a232017d224a2e7f00137867d29435d4ec89bb56..2b562b31325db1591767e853b2675f6131a2025d 100644
--- a/editors/demo/src/HHMI/HHMI.js
+++ b/editors/demo/src/HHMI/HHMI.js
@@ -170,7 +170,7 @@ const Hhmi = () => {
         value={content}
         readonly={readOnly}
         layout={HhmiLayout}
-        onChange={source => console.log(source)}
+        // onChange={source => console.log(source)}
       />
     </>
   );
diff --git a/wax-prosemirror-components/src/components/Button.js b/wax-prosemirror-components/src/components/Button.js
index 464a0ae13041927730111ea77763060f7529e907..f61f2b65c294d40a4eee61c872ed137ba0eec394 100644
--- a/wax-prosemirror-components/src/components/Button.js
+++ b/wax-prosemirror-components/src/components/Button.js
@@ -20,7 +20,7 @@ const Button = ({ view = {}, item }) => {
 
   const handleMouseDown = e => {
     e.preventDefault();
-    run(activeView.state, activeView.dispatch, activeView);
+    run(activeView.state, activeView.dispatch, activeView, context);
   };
 
   const isActive = !!(
diff --git a/wax-prosemirror-services/src/FillTheGapQuestionService/CreateGapService/CreateGap.js b/wax-prosemirror-services/src/FillTheGapQuestionService/CreateGapService/CreateGap.js
index 93b7ddc3c9fdab455bae25ecb76b9f9d57a01210..dbe6cfa2b33fe87f5e137b728453dc649095068c 100644
--- a/wax-prosemirror-services/src/FillTheGapQuestionService/CreateGapService/CreateGap.js
+++ b/wax-prosemirror-services/src/FillTheGapQuestionService/CreateGapService/CreateGap.js
@@ -11,7 +11,7 @@ class CreateGap extends Tools {
   label = 'Create Gap';
 
   get run() {
-    return (state, dispatch) => {
+    return (state, dispatch, activeView, context) => {
       const { empty, $from, $to } = state.selection;
       let content = Fragment.empty;
       if (!empty && $from.sameParent($to) && $from.parent.inlineContent)
@@ -23,7 +23,11 @@ class CreateGap extends Tools {
         { id: uuidv4() },
         content,
       );
+
       dispatch(state.tr.replaceSelectionWith(createGap));
+      setTimeout(() => {
+        context.pmViews[createGap.attrs.id].focus();
+      }, 100);
     };
   }