diff --git a/src/IceTargetLoweringARM32.cpp b/src/IceTargetLoweringARM32.cpp
index 02097ed..0626902 100644
--- a/src/IceTargetLoweringARM32.cpp
+++ b/src/IceTargetLoweringARM32.cpp
@@ -4849,10 +4849,12 @@
     return false;
 
   Operand *SrcOp = VarAssign->getSrc(0);
+  bool Optimized = false;
   if (auto *SrcVar = llvm::dyn_cast<Variable>(SrcOp)) {
     if (!VMetadata->isMultiDef(SrcVar) ||
         // TODO: ensure SrcVar stays single-BB
         false) {
+      Optimized = true;
       *Var = SrcVar;
     } else if (auto *Const = llvm::dyn_cast<ConstantInteger32>(SrcOp)) {
       int32_t MoreOffset = Const->getValue();
@@ -4861,13 +4863,15 @@
         return false;
       *Var = nullptr;
       *Offset += NewOffset;
+      Optimized = true;
     }
-
-    *Reason = VarAssign;
-    return true;
   }
 
-  return false;
+  if (Optimized) {
+    *Reason = VarAssign;
+  }
+
+  return Optimized;
 }
 
 bool isAddOrSub(const Inst *Inst, InstArithmetic::OpKind *Kind) {
