diff --git a/Source/Core/Core/Src/PowerPC/JitArm32/Jit.h b/Source/Core/Core/Src/PowerPC/JitArm32/Jit.h
index 02eceff386..5d1908ace4 100644
--- a/Source/Core/Core/Src/PowerPC/JitArm32/Jit.h
+++ b/Source/Core/Core/Src/PowerPC/JitArm32/Jit.h
@@ -165,6 +165,7 @@ public:
 	void mfmsr(UGeckoInstruction _inst);
 	void mtspr(UGeckoInstruction _inst);
 	void mfspr(UGeckoInstruction _inst);
+	void mftb(UGeckoInstruction _inst);
 
 	// LoadStore
 	void icbi(UGeckoInstruction _inst);
diff --git a/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_SystemRegisters.cpp b/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_SystemRegisters.cpp
index ab3f56b5d9..8e6e11b366 100644
--- a/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_SystemRegisters.cpp
+++ b/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_SystemRegisters.cpp
@@ -72,7 +72,12 @@ void JitArm::mtspr(UGeckoInstruction inst)
 	// OK, this is easy.
 	STR(RD, R9,  PPCSTATE_OFF(spr) + iIndex * 4);
 }
-
+void JitArm::mftb(UGeckoInstruction inst)
+{
+	INSTRUCTION_START
+	JITDISABLE(SystemRegisters)
+	mfspr(inst);
+}
 void JitArm::mfspr(UGeckoInstruction inst)
 {
 	INSTRUCTION_START
diff --git a/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Tables.cpp b/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Tables.cpp
index 3636729119..9cacb31821 100644
--- a/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Tables.cpp
+++ b/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Tables.cpp
@@ -287,7 +287,7 @@ static GekkoOPTemplate table31[] =
 	{242, &JitArm::Default}, //"mtsrin", OPTYPE_SYSTEM, 0}},
 	{339, &JitArm::mfspr}, //"mfspr",  OPTYPE_SPR, FL_OUT_D}},
 	{467, &JitArm::mtspr}, //"mtspr",  OPTYPE_SPR, 0, 2}},
-	{371, &JitArm::Default}, //"mftb",   OPTYPE_SYSTEM, FL_OUT_D | FL_TIMER}},
+	{371, &JitArm::mftb}, //"mftb",   OPTYPE_SYSTEM, FL_OUT_D | FL_TIMER}},
 	{512, &JitArm::Default}, //"mcrxr",  OPTYPE_SYSTEM, 0}},
 	{595, &JitArm::Default}, //"mfsr",   OPTYPE_SYSTEM, FL_OUT_D, 2}},
 	{659, &JitArm::Default}, //"mfsrin", OPTYPE_SYSTEM, FL_OUT_D, 2}},