diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index 23250fc..7fce0ed 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 = "1.6.72";
+  public static final String LABEL = "1.6.73";
 
   private Version() {
   }
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index d826aa9..3fb0d45 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -179,9 +179,9 @@
 
   // Flag to toggle if DEX code objects should pass-through without IR processing.
   public boolean passthroughDexCode = false;
-  // TODO(b/134705306): Currently allow merging dex files resulting from Java 8 library
-  //  desugaring until all D8 users are complient.
-  public boolean enableNeverMergePrefixes = false;
+
+  // Flag to toggle if the prefix based merge restriction should be enforced.
+  public boolean enableNeverMergePrefixes = true;
   public Set<String> neverMergePrefixes = ImmutableSet.of("j$.");
 
   public boolean libraryInterfacesMayHaveStaticInitialization = false;
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/NeverMergeCoreLibDesugarClasses.java b/src/test/java/com/android/tools/r8/desugar/desugaredLibrary/NeverMergeCoreLibDesugarClasses.java
similarity index 95%
rename from src/test/java/com/android/tools/r8/desugar/corelib/NeverMergeCoreLibDesugarClasses.java
rename to src/test/java/com/android/tools/r8/desugar/desugaredLibrary/NeverMergeCoreLibDesugarClasses.java
index 352fccf..470b653 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/NeverMergeCoreLibDesugarClasses.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredLibrary/NeverMergeCoreLibDesugarClasses.java
@@ -46,7 +46,6 @@
           .addInnerClasses(NeverMergeCoreLibDesugarClasses.class)
           .addProgramDexFileData(builder.compile())
           .setMinApi(parameters.getRuntime())
-          .addOptionsModification(options -> options.enableNeverMergePrefixes = true)
           .compileWithExpectedDiagnostics(diagnostics -> {
             diagnostics.assertErrorsCount(1);
             String message = diagnostics.getErrors().get(0).getDiagnosticMessage();
@@ -72,7 +71,6 @@
           .addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.P))
           .setMinApi(parameters.getRuntime())
           .addProgramFiles(buildDesugaredLibrary(parameters.getApiLevel()))
-          .addOptionsModification(options -> options.enableNeverMergePrefixes = true)
           .compileWithExpectedDiagnostics(diagnostics -> {
             diagnostics.assertErrorsCount(1);
             String message = diagnostics.getErrors().get(0).getDiagnosticMessage();
