diff --git a/src/plainui/views.py b/src/plainui/views.py
index c794cc9a2b1eb4c5ae915a50c335f8cc42f5693e..a008c5155f4722261303a925b6847d390ab0fb0f 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)