diff --git a/Source/Core/DSPCore/Src/DSPTables.cpp b/Source/Core/DSPCore/Src/DSPTables.cpp
index 987dac3d93..80da03c190 100644
--- a/Source/Core/DSPCore/Src/DSPTables.cpp
+++ b/Source/Core/DSPCore/Src/DSPTables.cpp
@@ -37,7 +37,7 @@ const DSPOPCTemplate opcodes[] =
 
 	{"DAR",		0x0004, 0xfffc, DSPInterpreter::dar,     &DSPEmitter::dar,    1, 1, {{P_REG, 1, 0, 0, 0x0003}},                                                             false, false, false, false, false},
 	{"IAR",		0x0008, 0xfffc, DSPInterpreter::iar,     &DSPEmitter::iar,    1, 1, {{P_REG, 1, 0, 0, 0x0003}},                                                             false, false, false, false, false},
-	{"SUBARN",	0x000c, 0xfffc, DSPInterpreter::subarn,  NULL/*&DSPEmitter::subarn*/, 1, 1, {{P_REG, 1, 0, 0, 0x0003}},                                                             false, false, false, false, false}, // TODO: Breaks NTSC IPL
+	{"SUBARN",	0x000c, 0xfffc, DSPInterpreter::subarn,  &DSPEmitter::subarn, 1, 1, {{P_REG, 1, 0, 0, 0x0003}},                                                             false, false, false, false, false},
 	{"ADDARN",	0x0010, 0xfff0, DSPInterpreter::addarn,  &DSPEmitter::addarn, 1, 2, {{P_REG, 1, 0, 0, 0x0003},     {P_REG04, 1, 0, 2, 0x000c}},                             false, false, false, false, false},
 
 	{"HALT",	0x0021, 0xffff, DSPInterpreter::halt,    &DSPEmitter::halt,   1, 0, {},                                                                                     false, true, true, false, false},
diff --git a/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp b/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp
index a9f78e9a60..35e5de9d9a 100644
--- a/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp
+++ b/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp
@@ -183,7 +183,7 @@ void DSPEmitter::decrease_addr_reg(int reg)
 	MOVSX(32, 16, ESI, ix_reg);
 	gpr.putReg(DSP_REG_WR0+reg);
 	gpr.putReg(DSP_REG_IX0+reg);
-	gpr.getReg(DSP_REG_WR0+reg,ar_reg);
+	gpr.getReg(DSP_REG_AR0+reg,ar_reg);
 	MOVZX(32, 16, EAX, ar_reg);
 
 	NOT(32, R(ESI)); //esi = ~ix
@@ -227,7 +227,7 @@ void DSPEmitter::decrease_addr_reg(int reg)
 	//return nar
 
 	MOV(16, ar_reg, R(DI));
-	gpr.putReg(DSP_REG_WR0+reg);
+	gpr.putReg(DSP_REG_AR0+reg);
 }