diff --git a/resources/assets/javascripts/lib/wysiwyg.js b/resources/assets/javascripts/lib/wysiwyg.js
index 00f453d59f0ef65f1120bcde3a91706719284464..806abaf16cad2f68d3a1c3b69136b37af3e748e1 100644
--- a/resources/assets/javascripts/lib/wysiwyg.js
+++ b/resources/assets/javascripts/lib/wysiwyg.js
@@ -33,36 +33,19 @@ const wysiwyg = {
     getEditor,
     hasEditor,
 
-    replace(textarea) {
-        if (!hasEditor(textarea)) {
-            if (isTextareaVisible(textarea)) {
-                replaceTextarea(textarea);
-            }
-        } else if (isEditorHidden(textarea)) {
-            destroyTextarea(textarea);
-        }
-    },
+    replace: replaceTextarea,
 };
 
 export default wysiwyg;
 
-function isTextareaVisible(textarea) {
-    return $(textarea).is(':visible');
-}
-
-function isEditorHidden(textarea) {
-    if (!hasEditor(textarea)) {
-        return false;
-    }
-    const editor = getEditor(textarea);
-    return editor && editor.ui && $(editor.ui.element).is(':hidden');
-}
-
 async function replaceTextarea(textarea) {
-    await loadMathJax();
+    if (hasEditor(textarea)) {
+        return getEditor(textarea);
+    }
 
     setEditor(textarea, {});
 
+    await loadMathJax();
     const chunk = await STUDIP.loadChunk('wysiwyg');
 
     const $textarea = textarea instanceof jQuery ? textarea : $(textarea);