diff --git a/SMPInstr.cpp b/SMPInstr.cpp
index 262581a502f086d45a91b734b2788c039c124026..76474b8ec37fcf5b05753eefa69ff4146cc0306a 100644
--- a/SMPInstr.cpp
+++ b/SMPInstr.cpp
@@ -6008,6 +6008,10 @@ bool SMPInstr::InferOperatorType(SMPRegTransfer *CurrRT) {
 		case SMP_SIGN_EXTEND:
 		case SMP_ZERO_EXTEND:
 			// Should we infer that all operands are NUMERIC?  !!!???!!!!
+			if (UNINIT == CurrRT->GetOperatorType()) {
+				CurrRT->SetOperatorType(NUMERIC, this);
+				updated = true;
+			}
 			break;
 
 		case SMP_ADDRESS_OF: // take effective address