diff --git a/AKModel/migrations/0024_event_dependencies.py b/AKModel/migrations/0024_event_dependencies.py
new file mode 100644
index 0000000000000000000000000000000000000000..1fed7e230867fb0cd4345bf750db36a15580f4ae
--- /dev/null
+++ b/AKModel/migrations/0024_event_dependencies.py
@@ -0,0 +1,61 @@
+# Generated by Django 2.2.6 on 2019-10-25 13:44
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+from AKModel.models import AKCategory, Event, AKTrack
+
+
+def migrate_data_forward(apps, schema_editor):
+    for instance in AKCategory.objects.all():
+        if not instance.event:
+            instance.event = Event.objects.filter(active=True).last()
+        instance.save()
+
+    for instance in AKTrack.objects.all():
+        if not instance.event:
+            instance.event = Event.objects.filter(active=True).last()
+        instance.save()
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ('AKModel', '0023_event_default_slot'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='akcategory',
+            name='event',
+            field=models.ForeignKey(help_text='Associated event', null=True,
+                                    on_delete=django.db.models.deletion.CASCADE, to='AKModel.Event',
+                                    verbose_name='Event'),
+        ),
+        migrations.AddField(
+            model_name='aktrack',
+            name='event',
+            field=models.ForeignKey(help_text='Associated event', null=True,
+                                    on_delete=django.db.models.deletion.CASCADE, to='AKModel.Event',
+                                    verbose_name='Event'),
+        ),
+
+        migrations.RunPython(
+            migrate_data_forward,
+            reverse_code=migrations.RunPython.noop,
+        ),
+
+        migrations.AlterField(
+            model_name='akcategory',
+            name='event',
+            field=models.ForeignKey(help_text='Associated event',
+                                    on_delete=django.db.models.deletion.CASCADE, to='AKModel.Event',
+                                    verbose_name='Event'),
+        ),
+        migrations.AlterField(
+            model_name='aktrack',
+            name='event',
+            field=models.ForeignKey(help_text='Associated event',
+                                    on_delete=django.db.models.deletion.CASCADE, to='AKModel.Event',
+                                    verbose_name='Event'),
+        ),
+    ]
diff --git a/AKModel/models.py b/AKModel/models.py
index 285334794f74c89e2a8155803efe73b1dc2c571e..a78c35005320cf496bcc650f834397415745f54c 100644
--- a/AKModel/models.py
+++ b/AKModel/models.py
@@ -97,6 +97,9 @@ class AKCategory(models.Model):
     description = models.TextField(blank=True, verbose_name=_("Description"),
                                    help_text=_("Short description of this AK Category"))
 
+    event = models.ForeignKey(to=Event, null=True, on_delete=models.CASCADE, verbose_name=_('Event'),
+                              help_text=_('Associated event'))
+
     class Meta:
         verbose_name = _('AK Category')
         verbose_name_plural = _('AK Categories')
@@ -112,6 +115,9 @@ class AKTrack(models.Model):
     name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'), help_text=_('Name of the AK Track'))
     color = models.CharField(max_length=7, blank=True, verbose_name=_('Color'), help_text=_('Color for displaying'))
 
+    event = models.ForeignKey(to=Event, null=True, on_delete=models.CASCADE, verbose_name=_('Event'),
+                              help_text=_('Associated event'))
+
     class Meta:
         verbose_name = _('AK Track')
         verbose_name_plural = _('AK Tracks')
diff --git a/AKSubmission/forms.py b/AKSubmission/forms.py
index bddf28578bb02ac0ce92768c07f2508d8b4d3650..fdb8f1943553b0d2a866f2207c3f464585ebc58c 100644
--- a/AKSubmission/forms.py
+++ b/AKSubmission/forms.py
@@ -4,7 +4,7 @@ from django import forms
 from django.core.exceptions import ValidationError
 from django.utils.translation import ugettext_lazy as _
 
-from AKModel.models import AK, AKOwner
+from AKModel.models import AK, AKOwner, AKCategory, AKRequirement
 
 
 class AKForm(forms.ModelForm):
@@ -48,6 +48,9 @@ class AKForm(forms.ModelForm):
             label=AK.tags.field.verbose_name,
             help_text=f"{AK.tags.field.help_text} ({help_tags_addition})")
 
+        self.fields['category'].queryset = AKCategory.objects.filter(event=self.initial.get('event'))
+        self.fields['requirements'].queryset = AKRequirement.objects.filter(event=self.initial.get('event'))
+
     @staticmethod
     def _clean_duration(duration):
         # Handle different duration formats (h:mm and decimal comma instead of point)