diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index c3dba888212e6fad169a329e445bba50612a61d6..81ab5cd213a8147c0ae619380f84fbe6ecdf671e 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -4362,6 +4362,8 @@ unsigned InterpreterMainLoop(ARMul_State* state) {
                         cpu->Reg[14] = Memory::Read32(addr);
                     else
                         cpu->Reg_usr[1] = Memory::Read32(addr);
+
+                    addr += 4;
                 }
             } else if (!BIT(inst, 22)) {
                 for(int i = 0; i < 16; i++ ){