diff --git a/SMPFunction.cpp b/SMPFunction.cpp
index b63f461c806cc89fa5a847685b947bc3534876d0..2f3d9b9633763eac0663a53cdcf46e32bf850b2c 100644
--- a/SMPFunction.cpp
+++ b/SMPFunction.cpp
@@ -2150,7 +2150,7 @@ void SMPFunction::SSARename(int BlockNumber) {
 				if (this->SSAStack.at(GlobIndex).empty()) {
 					// No top of stack entry to read.
 #if SMP_DEBUG_UNINITIALIZED_SSA_NAMES
-					if (!(*CurrInst)->MDIsPopInstr()) {
+					if (!(*CurrInst)->MDIsPopInstr() && (o_reg == GlobIter->type)) {
 						// POP uses the stack offset and generates spurious
 						//  uninitialized variable messages for [esp+0].
 						msg("WARNING: function %s : Use of uninitialized variable: ",