diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 5157ab2afb..a3715e5559 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -17,7 +17,6 @@
 namespace Kernel {
 
 unsigned int Object::next_object_id;
-SharedPtr<Thread> g_main_thread;
 HandleTable g_handle_table;
 
 void WaitObject::AddWaitingThread(SharedPtr<Thread> thread) {
@@ -140,7 +139,6 @@ void Init() {
     Kernel::TimersInit();
 
     Object::next_object_id = 0;
-    g_main_thread = nullptr;
 }
 
 /// Shutdown the kernel
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index 9d83d03d6b..a444e22e58 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -85,7 +85,7 @@ void Process::ParseKernelCaps(const u32* kernel_caps, size_t len) {
 }
 
 void Process::Run(VAddr entry_point, s32 main_thread_priority, u32 stack_size) {
-    g_main_thread = Kernel::SetupMainThread(stack_size, entry_point, main_thread_priority);
+    Kernel::SetupMainThread(stack_size, entry_point, main_thread_priority);
 }
 
 Kernel::Process::Process() {}
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 233bcbdbda..9958b16e66 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -171,8 +171,6 @@ private:
     Handle callback_handle;
 };
 
-extern SharedPtr<Thread> g_main_thread;
-
 /**
  * Sets up the primary application thread
  * @param stack_size The size of the thread's stack