diff --git a/src/core/js/ext_editmode_wysiwyg_text.js b/src/core/js/ext_editmode_wysiwyg_text.js
index b3cb8a8745d4ec8db4f6ab7601c767ba45b576d3..f87e5cd5ff266a8b28019814ceb5edf132b12ed3 100644
--- a/src/core/js/ext_editmode_wysiwyg_text.js
+++ b/src/core/js/ext_editmode_wysiwyg_text.js
@@ -67,7 +67,28 @@ var ext_editmode_wysiwyg_text = function ($, logger, ClassicEditor, edit_mode, g
                 editor.updateSourceElement();
             });
             // TODO(fspreck): Add an event listener to save also changes made in
-            // source mode. What event can we listen to?
+            // source mode. What event can we listen to? The following doesn't
+            // work either.
+            // document.body.addEventListener("input", e => {
+            //     console.log("Saving after input...");
+            //     editor.updateSourceElement();
+            // }, true);
+            const sourceEditingPlugin = editor.plugins.get("SourceEditing");
+            sourceEditingPlugin.on("change:isSourceEditingMode", (e, name, isSourceEditingMode) => {
+                if (isSourceEditingMode) {
+                    // Maybe this helps?
+                    console.log("Entering source editing");
+                    const [domSourceEditingElementWrapper] = sourceEditingPlugin._replacedRoots.values();
+                    const textarea = domSourceEditingElementWrapper.querySelector('textarea');
+
+                    // TODO(fspreck) this has to be more intelligent since it
+                    // leads to an infinite update loop...
+                    textarea.addEventListener("input", (e) => {
+                        console.log("Input in source mode");
+                        // sourceEditingPlugin._updateEditorData();
+                    });
+                }
+            });
         } catch (error) {
             logger.error(error.stack);
         }