diff --git a/resources/assets/javascripts/chunks/wysiwyg.js b/resources/assets/javascripts/chunks/wysiwyg.js
index be47e39fa766339cf81a3288425b9a5c61602c73..5ab81d60bf51278988f7d9fd73bb6c88b48bd543 100644
--- a/resources/assets/javascripts/chunks/wysiwyg.js
+++ b/resources/assets/javascripts/chunks/wysiwyg.js
@@ -14,6 +14,7 @@ import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js';
 import GeneralHtmlSupport from '@ckeditor/ckeditor5-html-support/src/generalhtmlsupport';
 import HeadingPlugin from '@ckeditor/ckeditor5-heading/src/heading';
 import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline';
+import HtmlComment from '@ckeditor/ckeditor5-html-support/src/htmlcomment';
 import ImagePlugin from '@ckeditor/ckeditor5-image/src/image';
 import ImageUploadPlugin from '@ckeditor/ckeditor5-image/src/imageupload';
 import ImageCaptionPlugin from '@ckeditor/ckeditor5-image/src/imagecaption';
@@ -73,6 +74,7 @@ ClassicEditor.builtinPlugins = [
     GeneralHtmlSupport,
     HeadingPlugin,
     HorizontalLine,
+    HtmlComment,
     ImageCaptionPlugin,
     ImagePlugin,
     ImageResizePlugin,
diff --git a/resources/assets/javascripts/lib/wysiwyg.js b/resources/assets/javascripts/lib/wysiwyg.js
index eacd5098c7084e385027288aba1223c287acc668..c54581dbaf4af33cadb2abcd709a7bacf5faf738 100644
--- a/resources/assets/javascripts/lib/wysiwyg.js
+++ b/resources/assets/javascripts/lib/wysiwyg.js
@@ -173,7 +173,8 @@ function replaceTextarea(textarea) {
         // make sure HTML marker is always set, in
         // case contents are cut-off by the backend
         $textarea.closest('form').submit(() => {
-            ckeditor.sourceElement.value = wysiwyg.markAsHtml(ckeditor.getData());
+            ckeditor.setData(wysiwyg.markAsHtml(ckeditor.getData()));
+            ckeditor.updateSourceElement();
         });
 
         // focus the editor if requested
@@ -183,6 +184,7 @@ function replaceTextarea(textarea) {
 
         ckeditor.ui.focusTracker.on('change:isFocused', (evt, name, isFocused) => {
             if (!isFocused) {
+                ckeditor.setData(wysiwyg.markAsHtml(ckeditor.getData()));
                 ckeditor.updateSourceElement();
             }
         });