diff --git a/Ryujinx.HLE/HOS/Kernel/KThread.cs b/Ryujinx.HLE/HOS/Kernel/KThread.cs
index aecaf6394d..74ad28f360 100644
--- a/Ryujinx.HLE/HOS/Kernel/KThread.cs
+++ b/Ryujinx.HLE/HOS/Kernel/KThread.cs
@@ -226,11 +226,11 @@ namespace Ryujinx.HLE.HOS.Kernel
 
         public void YieldWithLoadBalancing()
         {
+            System.CriticalSectionLock.Lock();
+
             int Prio = DynamicPriority;
             int Core = CurrentCore;
 
-            System.CriticalSectionLock.Lock();
-
             if (SchedFlags != ThreadSchedState.Running)
             {
                 System.CriticalSectionLock.Unlock();