diff --git a/test/mix/tasks/pleroma/uploads_test.exs b/test/mix/tasks/pleroma/uploads_test.exs
index d4ea89501..22b6baf24 100644
--- a/test/mix/tasks/pleroma/uploads_test.exs
+++ b/test/mix/tasks/pleroma/uploads_test.exs
@@ -3,12 +3,14 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Mix.Tasks.Pleroma.UploadsTest do
+  alias Pleroma.Config
   alias Pleroma.Upload
-  use Pleroma.DataCase
+  use Pleroma.DataCase, async: false
 
   import Mock
 
   setup_all do
+    prep_uploads()
     Mix.shell(Mix.Shell.Process)
 
     on_exit(fn ->
@@ -18,6 +20,8 @@ defmodule Mix.Tasks.Pleroma.UploadsTest do
     :ok
   end
 
+  setup do: clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+
   describe "running migrate_local" do
     test "uploads migrated" do
       with_mock Upload,
@@ -53,4 +57,15 @@ defmodule Mix.Tasks.Pleroma.UploadsTest do
       end
     end
   end
+
+  defp prep_uploads() do
+    upload_dir = Config.get([Pleroma.Uploaders.Local, :uploads])
+
+    if not File.exists?(upload_dir) || File.ls!(upload_dir) == [] do
+      File.mkdir_p(upload_dir)
+
+      Path.join([upload_dir, "file.txt"])
+      |> File.touch()
+    end
+  end
 end