diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py
index 41cebfca9567f82ec7d3537f9d49fd22e2096ac5..e971ed57aeb9925dcc65b3624eee904c19286728 100644
--- a/AKSubmission/forms.py
+++ b/AKSubmission/forms.py
@@ -2,6 +2,7 @@ import itertools
 import re
 
 from django import forms
+from django.contrib import messages
 from django.core.exceptions import ValidationError
 from django.utils.translation import ugettext_lazy as _
 
@@ -100,6 +101,15 @@ 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]
+            if len(link) > 200:
+                messages.add_message(self.request, messages.WARNING,
+                    _("Due to technical reasons, the link you entered was truncated to a length of 200 characters"))
+
         # 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/views.py b/AKSubmission/views.py
index 46c6fa55a65ad7d1903ee0b1578cd321f64e3bf1..a59f0ee1d60045401778f1776e98a15962f4106f 100644
--- a/AKSubmission/views.py
+++ b/AKSubmission/views.py
@@ -215,18 +215,6 @@ class AKAndAKWishSubmissionView(EventSlugMixin, EventInactiveRedirectMixin, Crea
             return redirect(reverse_lazy('submit:submission_overview',
                                          kwargs={'event_slug': form.cleaned_data["event"].slug}))
 
-        # Generate object but don't store it in the database yet
-        self.object = form.save(commit=False)
-
-        # Generate wiki link
-        if form.cleaned_data["event"].base_url:
-            link = form.cleaned_data["event"].base_url + form.cleaned_data["name"].replace(" ", "_")
-            # Truncate links longer than 200 characters (default length of URL fields in django)
-            self.object.link = link[:200]
-            if len(link) > 200:
-                messages.add_message(self.request, messages.WARNING,
-                    _("Due to technical reasons, the link you entered was truncated to a length of 200 characters"))
-
         # Try to save AK and get redirect URL
         super_form_valid = super().form_valid(form)