diff --git a/src/plainui/views.py b/src/plainui/views.py
index 3e9a6b5463ef10465028bf983bdb2b10964c6d1c..5a1e9f46d2276b76044bf4b00efd84db18fa8dbc 100644
--- a/src/plainui/views.py
+++ b/src/plainui/views.py
@@ -17,9 +17,10 @@ from django.contrib.sites.shortcuts import get_current_site
 from django.core.exceptions import PermissionDenied, ValidationError, ImproperlyConfigured
 from django.core import signing
 from django.core.mail import EmailMessage
+from django.core.exceptions import SuspiciousOperation
 from django.db import transaction, connection
 from django.db.models import Q, F, Prefetch
-from django.http import Http404, HttpResponseBadRequest, HttpResponseRedirect, HttpResponseNotFound, HttpResponse, HttpResponseForbidden
+from django.http import Http404, HttpResponseRedirect, HttpResponseNotFound, HttpResponse, HttpResponseForbidden
 from django.shortcuts import redirect, get_object_or_404
 from django.template.loader import render_to_string
 from django.urls import reverse, reverse_lazy, translate_url, NoReverseMatch
@@ -700,13 +701,13 @@ class StaticPageDiffView(ConferenceRequiredMixin, TemplateView):
         rev2_id = self.request.GET.get('rev2')
 
         if rev1_id is None or rev2_id is None:
-            return HttpResponseBadRequest()
+            raise SuspiciousOperation("Only one revision given, need two")
 
         try:
             rev1 = self.static_page.revisions.get(revision=rev1_id)
             rev2 = self.static_page.revisions.get(revision=rev2_id)
         except StaticPageRevision.DoesNotExist:
-            return HttpResponseNotFound()
+            raise Http404("One of the selected revisions was not found")
 
         differ = StaticPageDiff(tabsize=4)
         diff = differ.make_table(rev1.body.splitlines(keepends=True), rev2.body.splitlines(keepends=True), context=True, numlines=3)