diff --git a/resources/vue/components/I18nTextarea.vue b/resources/vue/components/I18nTextarea.vue
index 1b103b43044c8bcc6f75cfb44c72b16a1d969e02..5071d38fc57b3e6986d8d781c2fb658380fd62f4 100644
--- a/resources/vue/components/I18nTextarea.vue
+++ b/resources/vue/components/I18nTextarea.vue
@@ -7,7 +7,7 @@
             <input type=text
                    ref="inputfield"
                    :name="nameOfInput(selectedLanguage.id)"
-                   v-model="values[selectedLanguage.id]"
+                   v-model="currentText"
                    :required="required && defaultLanguage === selectedLanguage.id"
                    v-bind="$attrs"
                    v-on="$listeners"
@@ -16,12 +16,12 @@
                       ref="inputfield"
                       v-bind="$attrs"
                       v-on="$listeners"
-                      v-model="values[selectedLanguage.id]"
+                      v-model="currentText"
                       :required="required && defaultLanguage === selectedLanguage.id"
                       v-else-if="type === 'textarea'"></textarea>
             <studip-wysiwyg :name="nameOfInput(selectedLanguage.id)"
                             ref="inputfield"
-                            v-model="values[selectedLanguage.id]"
+                            v-model="currentText"
                             v-bind="$attrs"
                             v-on="$listeners"
                             :required="required && defaultLanguage === selectedLanguage.id"
@@ -30,7 +30,7 @@
         <input type="hidden"
                v-for="language in otherLanguages"
                :key="`hidden-${language.id}`"
-               v-model="values[language.id]"
+               v-model="currentText"
                :required="required && defaultLanguage === language.id"
                :name="nameOfInput(language.id)">
         <select class="i18n"
@@ -47,21 +47,21 @@
         <input type=text
                ref="inputfield"
                :name="name"
-               v-model="values[selectedLanguage.id]"
+               v-model="currentText"
                v-bind="$attrs"
                v-on="$listeners"
                :required="required"
                v-if="type === 'text'">
         <textarea :name="name"
                   ref="inputfield"
-                  v-model="values[selectedLanguage.id]"
+                  v-model="currentText"
                   v-bind="$attrs"
                   v-on="$listeners"
                   :required="required"
                   v-else-if="type === 'textarea'"></textarea>
         <studip-wysiwyg :name="name"
                         ref="inputfield"
-                        v-model="values[selectedLanguage.id]"
+                        v-model="currentText"
                         v-bind="$attrs"
                         v-on="$listeners"
                         :required="required"
@@ -169,7 +169,15 @@ export default {
         },
         otherLanguages () {
             return this.languages.filter(language => language.id !== this.selectedLanguage.id);
-        }
+        },
+        currentText: {
+            get () {
+                return this.values[this.selectedLanguage.id] ?? '';
+            },
+            set (newValue) {
+                this.values[this.selectedLanguage.id] = newValue;
+            },
+        },
     },
     inheritAttrs: false,
     watch: {
diff --git a/templates/forms/range_input.php b/templates/forms/range_input.php
index 07bd934926ec9f97ef5765b888da89e970397a3f..502ddde794345bb018745114fea96062efb6c93c 100644
--- a/templates/forms/range_input.php
+++ b/templates/forms/range_input.php
@@ -10,7 +10,7 @@
              name="<?= htmlReady($name) ?>"
              value="<?= htmlReady($value) ?>"
              id="<?= $id ?>"
-             min="<?= $min ?>"
-             max="<?= $max ?>"
-             step="<?= $step ?>"
+             <? if (isset($min)) printf(':min="%s"', $min); ?>
+             <? if (isset($max)) printf(':max="%s"', $max); ?>
+             <? if (isset($step)) printf(':max="%s"', $step); ?>
     <?= $attributes ?>></range-input>