diff --git a/lib/pleroma/web/admin_api/views/report_view.ex b/lib/pleroma/web/admin_api/views/report_view.ex
index 73ccdc582ae97b6da8434c9343629925295966cb..a25f3f1fed39c80f3685b1301a7535df9e4e5a79 100644
--- a/lib/pleroma/web/admin_api/views/report_view.ex
+++ b/lib/pleroma/web/admin_api/views/report_view.ex
@@ -46,8 +46,10 @@ def render("show.json", %{report: report}) do
     }
   end
 
-  defp merge_account_views(user) do
+  defp merge_account_views(%User{} = user) do
     Pleroma.Web.MastodonAPI.AccountView.render("account.json", %{user: user})
     |> Map.merge(Pleroma.Web.AdminAPI.AccountView.render("show.json", %{user: user}))
   end
+
+  defp merge_account_views(_), do: %{}
 end
diff --git a/test/web/admin_api/views/report_view_test.exs b/test/web/admin_api/views/report_view_test.exs
index 75d8bb4b5a9daf68b1b711297ee822a4427dcd0f..a00c9c5792d9fc8d3622795f6ebeabc5a0143548 100644
--- a/test/web/admin_api/views/report_view_test.exs
+++ b/test/web/admin_api/views/report_view_test.exs
@@ -111,4 +111,20 @@ test "sanitizes report description" do
     refute "<script> alert('hecked :D:D:D:D:D:D:D') </script>" ==
              ReportView.render("show.json", %{report: activity})[:content]
   end
+
+  test "doesn't error out when the user doesn't exists" do
+    user = insert(:user)
+    other_user = insert(:user)
+
+    {:ok, activity} =
+      CommonAPI.report(user, %{
+        "account_id" => other_user.id,
+        "comment" => ""
+      })
+
+    Pleroma.User.delete(other_user)
+    Pleroma.User.invalidate_cache(other_user)
+
+    assert %{} = ReportView.render("show.json", %{report: activity})
+  end
 end