diff --git a/src/coreclr/pal/src/thread/context.cpp b/src/coreclr/pal/src/thread/context.cpp index b7e7c6fab35f05..e15f482e4c42fe 100644 --- a/src/coreclr/pal/src/thread/context.cpp +++ b/src/coreclr/pal/src/thread/context.cpp @@ -1496,6 +1496,12 @@ CONTEXT_GetThreadContextFromThreadState( // AMD64's FLOATING_POINT includes the xmm registers. memcpy(&lpContext->Xmm0, &pState->__fpu_xmm0, 16 * 16); + + if (threadStateFlavor == x86_FLOAT_STATE64) + { + // There was just a floating point state, so make sure the CONTEXT_XSTATE is not set + lpContext->ContextFlags &= ~(CONTEXT_XSTATE & CONTEXT_AREA_MASK); + } } break; }