diff --git a/src/viralhostrange/viralhostrangedb/views.py b/src/viralhostrange/viralhostrangedb/views.py
index 2190541a28dec48de2f31eed5172fabb9ea06c99..29dcc24aa3991df9c01e14c29aed0e0e19af6461 100644
--- a/src/viralhostrange/viralhostrangedb/views.py
+++ b/src/viralhostrange/viralhostrangedb/views.py
@@ -445,13 +445,17 @@ def get_log_entry_with_permission_check_or_404(request, pk, log_pk, allow_curato
 
 @login_required
 def data_source_history_download(request, pk, log_pk):
-    data_source, le = get_log_entry_with_permission_check_or_404(
-        request,
-        pk,
-        log_pk,
-        allow_curator=True,
-        user_id=request.user.id,
-    )
+    try:
+        data_source, le = get_log_entry_with_permission_check_or_404(request, pk, log_pk)
+    except Http404:
+        # if we cannot get it, then allows curators, but only on their own entry
+        data_source, le = get_log_entry_with_permission_check_or_404(
+            request,
+            pk,
+            log_pk,
+            allow_curator=True,
+            user_id=request.user.id,
+        )
     file_path = business_process.get_backup_file_path(le, test_if_exists=True)
 
     if file_path is None: