diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js
index d19991a2ed8613a7f85ed0fed95a7dc6ef294736..abd0628fb70695fdd171c22a2956784070ef3345 100644
--- a/editors/demo/src/Editors.js
+++ b/editors/demo/src/Editors.js
@@ -70,7 +70,7 @@ const Editors = () => {
       case 'ncbi':
         return <NCBI />;
       default:
-        return <HHMI />;
+        return <Editoria />;
     }
   };
 
diff --git a/editors/demo/src/HHMI/config/config.js b/editors/demo/src/HHMI/config/config.js
index ebb2aa943e75778aff327812db5a9ece284ecbeb..78c6197dd246519f78d9f490bc338fa28e151c5c 100644
--- a/editors/demo/src/HHMI/config/config.js
+++ b/editors/demo/src/HHMI/config/config.js
@@ -40,6 +40,7 @@ export default {
         'Base',
         {
           name: 'Annotations',
+          exclude: ['LinkTool'],
           more: [
             'Superscript',
             'Subscript',
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 3524bf11127de1431050c6eae1c0377e8b77bb63..7ff86c91d1044160552128e62df1774bbd4bdb59 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -11,7 +11,7 @@ import React, {
 } from 'react';
 
 import applyDevTools from 'prosemirror-dev-tools';
-import { EditorState } from 'prosemirror-state';
+import { EditorState, TextSelection } from 'prosemirror-state';
 import { EditorView } from 'prosemirror-view';
 import { trackedTransaction } from 'wax-prosemirror-services';
 import { WaxContext } from './WaxContext';
@@ -81,6 +81,13 @@ const WaxView = forwardRef((props, ref) => {
             attributes: {
               spellcheck: browserSpellCheck ? 'true' : 'false',
             },
+            handleDOMEvents: {
+              blur: (editorView, event) => {
+                if (view && event.relatedTarget === null) {
+                  view.focus();
+                }
+              },
+            },
           },
         );
 
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js
index 5a68b7d35faa1294589af7754702645ab7ee99ae..fd7478dff2f73d789408ae06819bd971771e510a 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js
@@ -125,6 +125,11 @@ const EditorComponent = ({ node, view, getPos }) => {
             // the parent editor is focused.
             if (questionView.hasFocus()) questionView.focus();
           },
+          blur: (editorView, event) => {
+            if (questionView && event.relatedTarget === null) {
+              questionView.focus();
+            }
+          },
         },
 
         attributes: {
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js
index e2540fc909095c00f8b796e4d48cafb139889812..d0684783391eb0487d3c31c277639512fcc77bbb 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js
@@ -154,6 +154,11 @@ const QuestionEditorComponent = ({ node, view, getPos }) => {
             // the parent editor is focused.
             if (questionView.hasFocus()) questionView.focus();
           },
+          blur: (editorView, event) => {
+            if (questionView && event.relatedTarget === null) {
+              questionView.focus();
+            }
+          },
         },
 
         attributes: {