diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp
index 929b2b5e3b72785b939059c0cc5ea8a65bfc610a..ae0860c609180b636511a3e75ca76c8923d58f39 100644
--- a/src/base/SMPFunction.cpp
+++ b/src/base/SMPFunction.cpp
@@ -18570,7 +18570,7 @@ void SMPFunction::EmitShadowingHelper(FILE *InfoAnnotFile, SMPInstr *CurrInst, b
 		bool NonConstSourceFound = false;
 		set<STARS_uval_t> ConstValues;
 		bool ValidShadowing = this->FindShadowingPoint2(CriticalOp, false, ShadowUses, UnsafeCodePointerChain, NewCriticalOps, NonConstSourceFound, ConstValues);
-		if (!NonConstSourceFound && ValidShadowing && ShadowFuncPtrs && GoodCallAddr && (!InterruptCall)) {
+		if (!NonConstSourceFound && ValidShadowing && ImproveCFG && GoodCallAddr && (!InterruptCall)) {
 			SMP_msg("INFO: Only constants found in tracing func ptr at %llx\n", (uint64_t) ShadowCheckAddr);
 			FILE *XrefsFile = global_STARS_program->GetXrefsFile();
 			for (set<STARS_uval_t>::const_iterator ValIter = ConstValues.cbegin(); ValIter != ConstValues.cend(); ++ValIter) {