diff --git a/AKDashboard/views.py b/AKDashboard/views.py
index 9d9518d85d20bbaa1af89422da8847cb33173410..afabaf7df0b61574baf12d67d2ae86ac35a8bc83 100644
--- a/AKDashboard/views.py
+++ b/AKDashboard/views.py
@@ -54,7 +54,7 @@ class DashboardEventView(DetailView):
             # Changes in plan
             if apps.is_installed("AKPlan"):
                 if not context['event'].plan_hidden:
-                    last_changed_slots = AKSlot.objects.filter(event=context['event']).order_by('-updated')[
+                    last_changed_slots = AKSlot.objects.filter(event=context['event'], start__isnull=False).order_by('-updated')[
                                          :int(settings.DASHBOARD_RECENT_MAX)]
                     for changed_slot in last_changed_slots:
                         recent_changes.append({'icon': ('clock', 'far'),
diff --git a/AKModel/forms.py b/AKModel/forms.py
index bdb4e8dd6d5514d68ca40187739e1c95f51a6203..43dcfa96499660292a6ea58c541f6ca1aece3979 100644
--- a/AKModel/forms.py
+++ b/AKModel/forms.py
@@ -9,7 +9,10 @@ from AKModel.models import Event, AKCategory, AKRequirement
 class NewEventWizardStartForm(forms.ModelForm):
     class Meta:
         model = Event
-        fields = ['name', 'slug', 'timezone']
+        fields = ['name', 'slug', 'timezone', 'plan_hidden']
+        widgets = {
+            'plan_hidden': forms.HiddenInput(),
+        }
 
     is_init = forms.BooleanField(initial=True, widget=forms.HiddenInput)
 
@@ -23,7 +26,6 @@ class NewEventWizardSettingsForm(forms.ModelForm):
             'slug': forms.HiddenInput(),
             'timezone': forms.HiddenInput(),
             'active': forms.HiddenInput(),
-            'plan_hidden': forms.HiddenInput(),
             'start': DateTimePickerInput(options={"format": "YYYY-MM-DD HH:mm"}),
             'end': DateTimePickerInput(options={"format": "YYYY-MM-DD HH:mm"}),
             'reso_deadline': DateTimePickerInput(options={"format": "YYYY-MM-DD HH:mm"}),
diff --git a/AKPlan/templates/AKPlan/plan_akslot.html b/AKPlan/templates/AKPlan/plan_akslot.html
index a3215326e795e60feb728dce47c6278d3327e909..b13ba8e9e1923b8078fcf1f28ca6419aacee579c 100644
--- a/AKPlan/templates/AKPlan/plan_akslot.html
+++ b/AKPlan/templates/AKPlan/plan_akslot.html
@@ -6,6 +6,7 @@
 {% include "AKPlan/load_fullcalendar.html" %}
 
 <script>
+    {% get_current_language as LANGUAGE_CODE %}
 
     document.addEventListener('DOMContentLoaded', function () {
         var calendarEl = document.getElementById('akSlotCalendar');
diff --git a/AKPlan/templates/AKPlan/plan_wall.html b/AKPlan/templates/AKPlan/plan_wall.html
index c2d474235340ff646fbbfa36aebc89a0a581b0de..5d09ece0c18be3c5054b802a8261ac763273b087 100644
--- a/AKPlan/templates/AKPlan/plan_wall.html
+++ b/AKPlan/templates/AKPlan/plan_wall.html
@@ -22,6 +22,8 @@
 
     {% include "AKPlan/load_fullcalendar.html" %}
 
+    {% get_current_language as LANGUAGE_CODE %}
+
     <script>
         document.addEventListener('DOMContentLoaded', function () {
             var planEl = document.getElementById('planCalendar');
diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py
index 41cebfca9567f82ec7d3537f9d49fd22e2096ac5..d1f7e547c1a6c91f474b286859bc7c1d48455597 100644
--- a/AKSubmission/forms.py
+++ b/AKSubmission/forms.py
@@ -100,6 +100,12 @@ class AKForm(AvailabilitiesFormMixin, forms.ModelForm):
                 short_name = '{}-{}'.format(short_name[:-(digits + 1)], i)
             cleaned_data["short_name"] = short_name
 
+        # Generate wiki link
+        if self.cleaned_data["event"].base_url:
+            link = self.cleaned_data["event"].base_url + self.cleaned_data["name"].replace(" ", "_")
+            # Truncate links longer than 200 characters (default length of URL fields in django)
+            self.cleaned_data["link"] = link[:200]
+
         # Get tag names from raw tags
         cleaned_data["tag_names"] = [name.strip().lower() for name
                                      in self.split_string.split(cleaned_data["tags_raw"])
diff --git a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
index d6c141a133091033f10634eeecc488a11b3b2688..db925e64b2b6295f050fe06b14a3937216756877 100644
--- a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-29 13:36+0000\n"
+"POT-Creation-Date: 2022-08-13 18:04+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -428,39 +428,45 @@ msgstr "Event inaktiv. Hinzufügen/Bearbeiten nicht möglich."
 msgid "AK successfully created"
 msgstr "AK erfolgreich angelegt"
 
-#: AKSubmission/views.py:267
+#: AKSubmission/views.py:227
+msgid ""
+"Due to technical reasons, the link you entered was truncated to a length of "
+"200 characters"
+msgstr "Aus technischen Gründen wurde der eingegebeneLink auf eine Länge von 200 Zeichen gekürzt"
+
+#: AKSubmission/views.py:272
 msgid "AK successfully updated"
 msgstr "AK erfolgreich aktualisiert"
 
-#: AKSubmission/views.py:334
+#: AKSubmission/views.py:339
 msgid "Person Info successfully updated"
 msgstr "Personen-Info erfolgreich aktualisiert"
 
-#: AKSubmission/views.py:354
+#: AKSubmission/views.py:359
 msgid "No user selected"
 msgstr "Keine Person ausgewählt"
 
-#: AKSubmission/views.py:380
+#: AKSubmission/views.py:385
 msgid "AK Slot successfully added"
 msgstr "AK-Slot erfolgreich angelegt"
 
-#: AKSubmission/views.py:394
+#: AKSubmission/views.py:399
 msgid "You cannot edit a slot that has already been scheduled"
 msgstr "Bereits geplante AK-Slots können nicht mehr bearbeitet werden"
 
-#: AKSubmission/views.py:404
+#: AKSubmission/views.py:409
 msgid "AK Slot successfully updated"
 msgstr "AK-Slot erfolgreich aktualisiert"
 
-#: AKSubmission/views.py:417
+#: AKSubmission/views.py:422
 msgid "You cannot delete a slot that has already been scheduled"
 msgstr "Bereits geplante AK-Slots können nicht mehr gelöscht werden"
 
-#: AKSubmission/views.py:427
+#: AKSubmission/views.py:432
 msgid "AK Slot successfully deleted"
 msgstr "AK-Slot erfolgreich angelegt"
 
-#: AKSubmission/views.py:448
+#: AKSubmission/views.py:454
 msgid "Message to organizers successfully saved"
 msgstr "Nachricht an die Organisator*innen erfolgreich gespeichert"
 
diff --git a/AKSubmission/views.py b/AKSubmission/views.py
index 3f43854608835480385f3236d3bea276b03d67f2..a59f0ee1d60045401778f1776e98a15962f4106f 100644
--- a/AKSubmission/views.py
+++ b/AKSubmission/views.py
@@ -215,16 +215,12 @@ class AKAndAKWishSubmissionView(EventSlugMixin, EventInactiveRedirectMixin, Crea
             return redirect(reverse_lazy('submit:submission_overview',
                                          kwargs={'event_slug': form.cleaned_data["event"].slug}))
 
+        # Try to save AK and get redirect URL
         super_form_valid = super().form_valid(form)
 
-        # Generate wiki link
-        if form.cleaned_data["event"].base_url:
-            self.object.link = form.cleaned_data["event"].base_url + form.cleaned_data["name"].replace(" ", "_")
-        self.object.save()
-
         # Set tags (and generate them if necessary)
         for tag_name in form.cleaned_data["tag_names"]:
-            tag, _ = AKTag.objects.get_or_create(name=tag_name)
+            tag, was_created = AKTag.objects.get_or_create(name=tag_name)
             self.object.tags.add(tag)
 
         # Generate slot(s)
@@ -280,7 +276,7 @@ class AKEditView(EventSlugMixin, EventInactiveRedirectMixin, UpdateView):
 
         # Set tags (and generate them if necessary)
         for tag_name in form.cleaned_data["tag_names"]:
-            tag, _ = AKTag.objects.get_or_create(name=tag_name)
+            tag, was_created = AKTag.objects.get_or_create(name=tag_name)
             self.object.tags.add(tag)
 
         return super_form_valid
diff --git a/README.md b/README.md
index 1bbbfdae91f8b130330849d8774dba74291325f3..9142835ca6eec1dc92ab4ebb9450b3b69d10ab88 100644
--- a/README.md
+++ b/README.md
@@ -31,4 +31,4 @@ Afterwards, you may check your setup by executing ``Utils/check.sh`` or ``Utils/
 ## Developer Notes
 * to regenerate translations use ````python manage.py makemessages -l de_DE --ignore venv````
 * to create a data backup use ````python manage.py dumpdata --indent=2 > db.json --traceback````
-* to export all database items belonging to a certain event use ````.\Utils\json_export.sh <event_id> <export_prefix>  [--prod]````. The results will be saved in ````backups/<export_prefix>.json````
+* to export all database items belonging to a certain event use ````./Utils/json_export.sh <event_id> <export_prefix>  [--prod]````. The results will be saved in ````backups/<export_prefix>.json````