diff --git a/contracts/MIPS.sol b/contracts/MIPS.sol
index 66348a8e1e400e1c2024751164b8b9161fbbfa71..f10c7b4ea0d9edb467eb9d0d5c188c999d13ea6d 100644
--- a/contracts/MIPS.sol
+++ b/contracts/MIPS.sol
@@ -180,7 +180,7 @@ contract MIPS {
     }
 
     if (shouldBranch) {
-      val = pc + (SE(insn&0xFFFF, 16)<<2);
+      val = pc + 4 + (SE(insn&0xFFFF, 16)<<2);
       storeAddr = REG_PC;
     }