diff --git a/src/main/java/com/android/tools/r8/dex/ClassesChecksum.java b/src/main/java/com/android/tools/r8/dex/ClassesChecksum.java
index ffdb9a4..3624975 100644
--- a/src/main/java/com/android/tools/r8/dex/ClassesChecksum.java
+++ b/src/main/java/com/android/tools/r8/dex/ClassesChecksum.java
@@ -83,13 +83,22 @@
       assert PREFIX.length() == 3;
       char[] prefix = new char[PREFIX.length()];
       int prefixLength = string.decodePrefix(prefix);
-      return prefixLength == 0
-          || (prefixLength == 1 && prefix[0] <= PREFIX_CHAR0)
-          || (prefixLength == 2 && prefix[0] == PREFIX_CHAR0 && prefix[1] <= PREFIX_CHAR1)
-          || (prefixLength == 3
-              && prefix[0] == PREFIX_CHAR0
-              && prefix[1] == PREFIX_CHAR1
-              && prefix[2] < PREFIX_CHAR2);
+      if (prefixLength == 0) {
+        return true;
+      }
+      if (prefix[0] != PREFIX_CHAR0) {
+        return prefix[0] < PREFIX_CHAR0;
+      }
+      if (prefixLength == 1) {
+        return true;
+      }
+      if (prefix[1] != PREFIX_CHAR1) {
+        return prefix[1] < PREFIX_CHAR1;
+      }
+      if (prefixLength == 2) {
+        return true;
+      }
+      return prefix[2] < PREFIX_CHAR2;
     } catch (UTFDataFormatException e) {
       throw new RuntimeException("Bad format", e);
     }
diff --git a/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsHighSortingStrings.java b/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsHighSortingStrings.java
index c5ad260..24601c1 100644
--- a/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsHighSortingStrings.java
+++ b/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsHighSortingStrings.java
@@ -121,6 +121,14 @@
     assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("~")));
     assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("}")));
 
+    assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("z")));
+    assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("zz")));
+    assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("zzz")));
+    assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("zzzz")));
+
+    assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("this")));
+    assertTrue(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("println")));
+
     // False negatives.
     assertFalse(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("~~~")));
     assertFalse(ClassesChecksum.definitelyPrecedesChecksumMarker(factory.createString("~~~z")));
