diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index d297f7d..051d964 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
 
   // This field is accessed from release scripts using simple pattern matching.
   // Therefore, changing this field could break our release scripts.
-  public static final String LABEL = "3.1.53";
+  public static final String LABEL = "3.1.54";
 
   private Version() {
   }
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java b/src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
index 6bd38bb..4b872d6 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
@@ -54,7 +54,6 @@
 import com.android.tools.r8.ir.code.ValueType;
 import com.android.tools.r8.ir.desugar.FreshLocalProvider;
 import com.android.tools.r8.ir.desugar.LocalStackAllocator;
-import com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper;
 import com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations;
 import com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.MethodSynthesizerConsumer;
 import com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.UtilityMethodForCodeOptimizations;
@@ -127,11 +126,26 @@
       SingleResolutionResult result = resolution.asSingleResolution();
       if (bootstrapMethodHandle.isInterface
           && appView.options().isInterfaceMethodDesugaringEnabled()) {
-        bootstrapMethodReference =
-            bootstrapMethodReference.withHolder(
-                InterfaceDesugaringSyntheticHelper.getCompanionClassType(
-                    bootstrapMethodReference.getHolderType(), factory),
-                factory);
+        // The code below is commented out when merged to the 3.1 branch, as
+        //
+        // commit 4831b55933564ba346c5b87c9d13320d2bb3b203
+        // Author: Ian Zerny <zerny@google.com>
+        // Date:   Thu Sep 23 13:59:53 2021 +0200
+        //
+        // Process interface methods per-method during conversion.
+        //
+        // Bug: 199134556
+        // Change-Id: Ia83148354aec5431aaf2b653cb9334fcf3f0cee0
+        //
+        // did not land on 3.1. Therefore, the default interface method is still
+        // present in its original place during conversion. The move to the
+        // companion class happens later.
+        //
+        // bootstrapMethodReference =
+        //     bootstrapMethodReference.withHolder(
+        //         InterfaceDesugaringSyntheticHelper.getCompanionClassType(
+        //             bootstrapMethodReference.getHolderType(), factory),
+        //         factory);
         isFinalBootstrapMethodReferenceOnInterface = false;
       } else {
         assert bootstrapMethodReference.getHolderType() == resolution.getResolvedHolder().getType();
diff --git a/src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java b/src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
index a09ae6a..cb02c82 100644
--- a/src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
@@ -102,11 +102,6 @@
                                         "Unsupported dynamic constant (not desugaring)")));
                           }));
             },
-            // TODO(b/210485236): This should not fail for R8.
-            !parameters.canUseDefaultAndStaticInterfaceMethodsWhenDesugaring(),
-            b ->
-                b.run(parameters.getRuntime(), MAIN_CLASS)
-                    .assertFailureWithErrorThatThrows(NoSuchMethodError.class),
             b ->
                 b.run(parameters.getRuntime(), MAIN_CLASS)
                     .assertSuccessWithOutput(EXPECTED_OUTPUT));
