diff --git a/src/main/java/com/android/tools/r8/ir/optimize/RedundantFieldLoadElimination.java b/src/main/java/com/android/tools/r8/ir/optimize/RedundantFieldLoadElimination.java
index eb6bddd..ae47cc2 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/RedundantFieldLoadElimination.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/RedundantFieldLoadElimination.java
@@ -372,13 +372,22 @@
                 invoke.getArgument(info.asArgumentInitializationInfo().getArgumentIndex());
             Value object = invoke.getReceiver().getAliasedValue();
             FieldAndObject fieldAndObject = new FieldAndObject(field.field, object);
-            activeState.putNonFinalInstanceField(fieldAndObject, new ExistingValue(value));
+            if (field.isFinal()) {
+              activeState.putFinalInstanceField(fieldAndObject, new ExistingValue(value));
+            } else {
+              activeState.putNonFinalInstanceField(fieldAndObject, new ExistingValue(value));
+            }
           } else if (info.isSingleValue()) {
             SingleValue value = info.asSingleValue();
             if (value.isMaterializableInContext(appView.withLiveness(), method)) {
               Value object = invoke.getReceiver().getAliasedValue();
               FieldAndObject fieldAndObject = new FieldAndObject(field.field, object);
-              activeState.putNonFinalInstanceField(fieldAndObject, new MaterializableValue(value));
+              if (field.isFinal()) {
+                activeState.putFinalInstanceField(fieldAndObject, new MaterializableValue(value));
+              } else {
+                activeState.putNonFinalInstanceField(
+                    fieldAndObject, new MaterializableValue(value));
+              }
             }
           } else {
             assert info.isTypeInitializationInfo();
