108,109c108,109
< ArmISA::PCState pc = PCS;
< pc.instNPC(cSwap<uint32_t>(Mem.ud, cpsr.e));
---
> // Use the version of NPC that gets set before NextThumb
> pNPC = cSwap<uint32_t>(Mem.ud, cpsr.e);
115,117c115,116
< pc.nextThumb(((CPSR)newCpsr).t);
< pc.nextJazelle(((CPSR)newCpsr).j);
< PCS = pc;
---
> NextThumb = ((CPSR)newCpsr).t;
> NextJazelle = ((CPSR)newCpsr).j;