diff --git a/AKModel/models.py b/AKModel/models.py
index 018312107aada4f0a2871dac103a5db880c9910a..930219453920db03f5f7a084593264582438902a 100644
--- a/AKModel/models.py
+++ b/AKModel/models.py
@@ -104,7 +104,6 @@ def merge_blocks(
                 current_block[-1] = current_block[-1].merge(slot)
             else:
                 # partial overlap of interiors -> not supported
-                # TODO: Show comprehensive message in production
                 raise ValueError(
                     "Partially overlapping timeslots are not supported!"
                     f" ({current_block[-1].avail.simplified}, {slot.avail.simplified})"
diff --git a/AKModel/views/ak.py b/AKModel/views/ak.py
index 461edd3a92402d706e3190899f76317dc13dae1c..a3f2b05e9b7f62066b515355cbc67d963822e302 100644
--- a/AKModel/views/ak.py
+++ b/AKModel/views/ak.py
@@ -1,6 +1,7 @@
 import json
 
 from django.contrib import messages
+from django.shortcuts import redirect
 from django.urls import reverse_lazy
 from django.utils.translation import gettext_lazy as _
 from django.views.generic import ListView, DetailView
@@ -51,12 +52,29 @@ class AKJSONExportView(AdminViewMixin, DetailView):
 
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
+        try:
+            data = context["event"].as_json_dict()
+            context["json_data_oneline"] = json.dumps(data)
+            context["json_data"] = json.dumps(data, indent=2)
+            context["is_valid"] = True
+        except ValueError as ex:
+            messages.add_message(
+                self.request,
+                messages.ERROR,
+                _("Exporting AKs for the solver failed! Reason: ") + str(ex),
+            )
+        return context
 
-        data = context["event"].as_json_dict()
-        context["json_data_oneline"] = json.dumps(data)
-        context["json_data"] = json.dumps(data, indent=2)
+    def get(self, request, *args, **kwargs):
+        self.object = self.get_object()
+        context = self.get_context_data(object=self.object)
+
+        # if serialization failed in `get_context_data` we redirect to
+        #   the status page and show a message instead
+        if not context.get("is_valid", False):
+            return redirect("admin:event_status", context["event"].slug)
+        return self.render_to_response(context)
 
-        return context
 
 class AKWikiExportView(AdminViewMixin, DetailView):
     """