diff --git a/src/test/examplesJava9/backport/IntegerBackportJava9Main.java b/src/test/examplesJava9/backport/IntegerBackportJava9Main.java
index 46ec057..8188fe1 100644
--- a/src/test/examplesJava9/backport/IntegerBackportJava9Main.java
+++ b/src/test/examplesJava9/backport/IntegerBackportJava9Main.java
@@ -67,7 +67,7 @@
     }
 
     try {
-      throw new AssertionError(Integer.parseInt("+a", 0, 1, 10));
+      throw new AssertionError(Integer.parseInt("+a", 0, 2, 10));
     } catch (NumberFormatException expected) {
     }
 
diff --git a/src/test/examplesJava9/backport/LongBackportJava9Main.java b/src/test/examplesJava9/backport/LongBackportJava9Main.java
index cd3e5e1..f24c337 100644
--- a/src/test/examplesJava9/backport/LongBackportJava9Main.java
+++ b/src/test/examplesJava9/backport/LongBackportJava9Main.java
@@ -70,7 +70,7 @@
     }
 
     try {
-      throw new AssertionError(Long.parseLong("+a", 0, 1, 10));
+      throw new AssertionError(Long.parseLong("+a", 0, 2, 10));
     } catch (NumberFormatException expected) {
     }
 
@@ -128,7 +128,7 @@
     }
 
     try {
-      throw new AssertionError(Long.parseUnsignedLong("+a", 0, 1, 10));
+      throw new AssertionError(Long.parseUnsignedLong("+a", 0, 2, 10));
     } catch (NumberFormatException expected) {
     }
 
diff --git a/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java b/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java
index c0dfaf4..646dbf9 100644
--- a/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/backports/AbstractBackportTest.java
@@ -12,7 +12,6 @@
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestBuilder;
 import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.ToolHelper.DexVm.Version;
 import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -92,13 +91,6 @@
 
   @Test
   public void desugaring() throws Exception {
-    if (getClass() == LongBackportJava9Test.class
-        && parameters.isDexRuntime()
-        && parameters.getDexRuntimeVersion() == Version.V6_0_1
-        && parameters.getApiLevel() == AndroidApiLevel.M) {
-      // TODO(b/182249451): Remove this!
-      return;
-    }
     if (parameters.isCfRuntime()) {
       testForJvm()
           .apply(this::configureProgram)
