diff --git a/scipost_django/graphs/views.py b/scipost_django/graphs/views.py
index d69a3036e94ac61e877ca30b2c20eb28436d6578..090e243d01799ad31bc57dbc685d8eec45a2382f 100644
--- a/scipost_django/graphs/views.py
+++ b/scipost_django/graphs/views.py
@@ -4,6 +4,7 @@ __license__ = "AGPL v3"
 
 import io
 from django.contrib.auth.decorators import login_required, permission_required
+from django.http import Http404
 from django.shortcuts import HttpResponse, render
 from django.template.response import TemplateResponse
 from django.utils.decorators import method_decorator
@@ -77,6 +78,9 @@ class PlotView(View):
         figure = self.render_figure()
         bytes_io = io.BytesIO()
 
+        if figure is None:
+            raise Http404("No figure exists with the given options")
+
         match file_type:
             case "svg":
                 figure.savefig(bytes_io, format="svg")