diff --git a/src/coreclr/vm/jitinterface.cpp b/src/coreclr/vm/jitinterface.cpp index 05d9365e967964..d6379283f53834 100644 --- a/src/coreclr/vm/jitinterface.cpp +++ b/src/coreclr/vm/jitinterface.cpp @@ -10721,7 +10721,11 @@ void* CEEJitInfo::getHelperFtn(CorInfoHelpFunc ftnNum, /* IN */ // so we no longer need to use indirections and can emit a direct call instead. // // Avoid taking the lock for foreground jit compilations - if (!GetAppDomain()->GetTieredCompilationManager()->IsTieringDelayActive()) + // + // JitEnableOptionalRelocs being false means we should avoid non-deterministic + // optimizations that can randomly change codegen. + if (!GetAppDomain()->GetTieredCompilationManager()->IsTieringDelayActive() && + g_pConfig->JitEnableOptionalRelocs()) { MethodDesc* helperMD = pPrecode->GetMethodDesc(); _ASSERT(helperMD != nullptr);