diff --git a/src/main/java/com/android/tools/r8/ir/analysis/equivalence/BasicBlockBehavioralSubsumption.java b/src/main/java/com/android/tools/r8/ir/analysis/equivalence/BasicBlockBehavioralSubsumption.java
index 1da7136..8d2d7fc 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/equivalence/BasicBlockBehavioralSubsumption.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/equivalence/BasicBlockBehavioralSubsumption.java
@@ -254,8 +254,6 @@
   }
 
   private boolean valuesAreIdentical(Value value, Value other) {
-    value = value.getAliasedValue();
-    other = other.getAliasedValue();
     if (value == other) {
       return true;
     }
diff --git a/src/test/java/com/android/tools/r8/deadcode/DifferentAssumptionsOnReturnValuesTest.java b/src/test/java/com/android/tools/r8/deadcode/DifferentAssumptionsOnReturnValuesTest.java
index e41e378..0b457b8 100644
--- a/src/test/java/com/android/tools/r8/deadcode/DifferentAssumptionsOnReturnValuesTest.java
+++ b/src/test/java/com/android/tools/r8/deadcode/DifferentAssumptionsOnReturnValuesTest.java
@@ -27,8 +27,6 @@
   }
 
   private static final String EXPECTED_OUTPUT = StringUtils.lines("f(null)", "f returned null");
-  private static final String NOT_EXPECTED_OUTPUT =
-      StringUtils.lines("f(null)", "f returned non null");
 
   @Test
   public void testJvm() throws Exception {
@@ -58,7 +56,7 @@
         .enableInliningAnnotations()
         .run(parameters.getRuntime(), TestClass.class)
         // TODO(b/395489597): This should not happen.
-        .assertSuccessWithOutput(NOT_EXPECTED_OUTPUT);
+        .assertSuccessWithOutput(EXPECTED_OUTPUT);
   }
 
   static class TestClass {
