diff --git a/Ryujinx/Cpu/Instruction/AInstEmitAluHelper.cs b/Ryujinx/Cpu/Instruction/AInstEmitAluHelper.cs
index 367c3b75a0..b526c553fc 100644
--- a/Ryujinx/Cpu/Instruction/AInstEmitAluHelper.cs
+++ b/Ryujinx/Cpu/Instruction/AInstEmitAluHelper.cs
@@ -21,22 +21,13 @@ namespace ChocolArm64.Instruction
 
         public static void EmitAddsVCheck(AILEmitterCtx Context)
         {
-            //V = (Rd ^ Rn) & (Rd ^ Rm) & ~(Rn ^ Rm) < 0
-            Context.EmitSttmp();
-            Context.EmitLdtmp();
-            Context.EmitLdtmp();
+            //V = (Rd ^ Rn) & ~(Rn ^ Rm) < 0
+            Context.Emit(OpCodes.Dup);
 
             EmitDataLoadRn(Context);
 
             Context.Emit(OpCodes.Xor);
 
-            Context.EmitLdtmp();
-
-            EmitDataLoadOper2(Context);
-
-            Context.Emit(OpCodes.Xor);
-            Context.Emit(OpCodes.And);
-
             EmitDataLoadOpers(Context);
 
             Context.Emit(OpCodes.Xor);