diff --git a/lib/Analysis/BasicConstraintManager.cpp b/lib/Analysis/BasicConstraintManager.cpp
index aab1f5e..8617ba6 100644
--- a/lib/Analysis/BasicConstraintManager.cpp
+++ b/lib/Analysis/BasicConstraintManager.cpp
@@ -129,7 +129,26 @@
       return AssumeSymEQ(St, cast<loc::SymbolVal>(Cond).getSymbol(),
                          BasicVals.getZeroWithPtrWidth(), isFeasible);
 
-  case loc::MemRegionKind:
+  case loc::MemRegionKind: {
+    // FIXME: Should this go into the storemanager?
+    
+    const MemRegion* R = cast<loc::MemRegionVal>(Cond).getRegion();
+    
+    while (R) {
+      if (const SubRegion* SubR = dyn_cast<SubRegion>(R)) {
+        R = SubR->getSuperRegion();
+        continue;
+      }
+      else if (const SymbolicRegion* SymR = dyn_cast<SymbolicRegion>(R))
+        return AssumeAux(St, loc::SymbolVal(SymR->getSymbol()), Assumption,
+                                            isFeasible);
+      
+      break;
+    }
+    
+    // FALL-THROUGH.
+  }
+      
   case loc::FuncValKind:
   case loc::GotoLabelKind:
   case loc::StringLiteralValKind:
