diff --git a/libaegisub/include/libaegisub/background_runner.h b/libaegisub/include/libaegisub/background_runner.h
index ee0298cbd702bdb0ed5af1742251a2ee12445c39..29bd8efcbc4d62596c2b03fd54aaefc9d6967c78 100644
--- a/libaegisub/include/libaegisub/background_runner.h
+++ b/libaegisub/include/libaegisub/background_runner.h
@@ -68,13 +68,12 @@ namespace agi {
 
 		/// @brief Run a function on a background thread
 		/// @param task Function to run
-		/// @param priority Thread priority or -1 for default
 		/// @throws agi::UserCancelException on cancel
 		///
 		/// Blocks the calling thread until the task completes or is canceled.
 		/// Progress updates sent to the progress sink passed to the task should
 		/// be displayed to the user in some way, along with some way for the
 		/// user to cancel the task.
-		virtual void Run(std::function<void(ProgressSink *)> task, int priority=-1)=0;
+		virtual void Run(std::function<void(ProgressSink *)> task)=0;
 	};
 }
diff --git a/src/auto4_base.cpp b/src/auto4_base.cpp
index dd11ba83739f31ef676d467a79347da121f2fa8e..b5fa2e53d590eeabad98f4884d399a00a253a56c 100644
--- a/src/auto4_base.cpp
+++ b/src/auto4_base.cpp
@@ -239,16 +239,10 @@ namespace Automation4 {
 
 	void BackgroundScriptRunner::Run(std::function<void (ProgressSink*)> task)
 	{
-		int prio = OPT_GET("Automation/Thread Priority")->GetInt();
-		if (prio == 0) prio = 50; // normal
-		else if (prio == 1) prio = 30; // below normal
-		else if (prio == 2) prio = 10; // lowest
-		else prio = 50; // fallback normal
-
 		impl->Run([&](agi::ProgressSink *ps) {
 			ProgressSink aps(ps, this);
 			task(&aps);
-		}, prio);
+		});
 	}
 
 	wxWindow *BackgroundScriptRunner::GetParentWindow() const
diff --git a/src/dialog_progress.cpp b/src/dialog_progress.cpp
index d09efb1db54554c41cf9d29e97804c963adc0dc5..53a79e7fa383fad4e822bbba5141e49d5ba3357f 100644
--- a/src/dialog_progress.cpp
+++ b/src/dialog_progress.cpp
@@ -143,7 +143,7 @@ DialogProgress::DialogProgress(wxWindow *parent, wxString const& title_text, wxS
 	Bind(wxEVT_TIMER, [=](wxTimerEvent&) { gauge->Pulse(); });
 }
 
-void DialogProgress::Run(std::function<void(agi::ProgressSink*)> task, int priority) {
+void DialogProgress::Run(std::function<void(agi::ProgressSink*)> task) {
 	DialogProgressSink ps(this);
 	this->ps = &ps;
 
diff --git a/src/dialog_progress.h b/src/dialog_progress.h
index d6891b8b0f173394e78e776c3a653a8002ccb8af..d4e4667d07e85f95222e0ef7b05b58e91577c6b7 100644
--- a/src/dialog_progress.h
+++ b/src/dialog_progress.h
@@ -64,5 +64,5 @@ public:
 	DialogProgress(wxWindow *parent, wxString const& title="", wxString const& message="");
 
 	/// BackgroundWorker implementation
-	void Run(std::function<void(agi::ProgressSink *)> task, int priority=-1) override;
+	void Run(std::function<void(agi::ProgressSink *)> task) override;
 };
diff --git a/src/libresrc/default_config.json b/src/libresrc/default_config.json
index 4c2b2293106f500261bee5080f1280a690a2f26e..c541ca16ea70af61b1832dece717a7df7aace352 100644
--- a/src/libresrc/default_config.json
+++ b/src/libresrc/default_config.json
@@ -94,7 +94,6 @@
 
 	"Automation" : {
 		"Autoreload Mode" : 1,
-		"Thread Priority" : 1,
 		"Trace Level" : 3
 	},
 
diff --git a/src/libresrc/osx/default_config.json b/src/libresrc/osx/default_config.json
index 5fc6a4a6646fba28a05a27026c2346b7409799a5..3e0617216649e554b7d8e33ba03dd3cedd310e04 100644
--- a/src/libresrc/osx/default_config.json
+++ b/src/libresrc/osx/default_config.json
@@ -94,7 +94,6 @@
 
 	"Automation" : {
 		"Autoreload Mode" : 1,
-		"Thread Priority" : 1,
 		"Trace Level" : 3
 	},
 
diff --git a/src/preferences.cpp b/src/preferences.cpp
index e1c2b190c5eded84c49639ca9f11684dfcfa282d..bd635fad0a7a8d2e9e47b1db1f3440e9b8a4527f 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -324,10 +324,6 @@ void Automation(wxTreebook *book, Preferences *parent) {
 	wxArrayString tl_choice(6, tl_arr);
 	p->OptionChoice(general, _("Trace level"), tl_choice, "Automation/Trace Level");
 
-	const wxString tp_arr[3] = { _("Normal"), _("Below Normal (recommended)"), _("Lowest") };
-	wxArrayString tp_choice(3, tp_arr);
-	p->OptionChoice(general, _("Thread priority"), tp_choice, "Automation/Thread Priority");
-
 	const wxString ar_arr[4] = { _("No scripts"), _("Subtitle-local scripts"), _("Global autoload scripts"), _("All scripts") };
 	wxArrayString ar_choice(4, ar_arr);
 	p->OptionChoice(general, _("Autoreload on Export"), ar_choice, "Automation/Autoreload Mode");