diff --git a/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index d27b77fd5..d53121896 100644 --- a/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -1350,6 +1350,7 @@ void OpDispatchBuilder::XCHGOp(OpcodeArgs) { OrderedNode *Src = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, -1); if (DestIsMem(Op)) { + HandledLock = Op->Flags & FEXCore::X86Tables::DecodeFlags::FLAG_LOCK; OrderedNode *Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, -1, false); Dest = AppendSegmentOffset(Dest, Op->Flags);