diff --git a/src/main/java/com/android/tools/r8/ir/optimize/membervaluepropagation/R8MemberValuePropagation.java b/src/main/java/com/android/tools/r8/ir/optimize/membervaluepropagation/R8MemberValuePropagation.java
index 64c5ea4..54da041 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/membervaluepropagation/R8MemberValuePropagation.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/membervaluepropagation/R8MemberValuePropagation.java
@@ -295,9 +295,7 @@
       // This is guaranteed to read the static value of the field.
       abstractValue = definition.getStaticValue().toAbstractValue(appView.abstractValueFactory());
       // Verify that the optimization info is consistent with the static value.
-      assert definition.getOptimizationInfo().getAbstractValue().isUnknown()
-          || !definition.hasExplicitStaticValue()
-          || abstractValue.equals(definition.getOptimizationInfo().getAbstractValue());
+      assert verifyStaticFieldValueConsistentWithOptimizationInfo(appView, definition);
     } else {
       // This is guaranteed to read the default value of the field.
       abstractValue = appView.abstractValueFactory().createSingleNumberValue(0);
@@ -346,6 +344,19 @@
     }
   }
 
+  private boolean verifyStaticFieldValueConsistentWithOptimizationInfo(
+      AppView<?> appView, DexEncodedField field) {
+    AbstractValue computedValue = field.getOptimizationInfo().getAbstractValue();
+    AbstractValue staticValue =
+        field.getStaticValue().toAbstractValue(appView.abstractValueFactory());
+    assert computedValue.isUnknown()
+        || !field.hasExplicitStaticValue()
+        || appView
+            .getAbstractValueConstantPropagationJoiner()
+            .lessThanOrEqualTo(staticValue, computedValue, field.getTypeElement(appView));
+    return true;
+  }
+
   @Override
   void rewriteInstancePut(IRCode code, InstructionListIterator iterator, InstancePut current) {
     replaceInstancePutByNullCheckIfNeverRead(code, iterator, current);
