diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
index 3805bc6..d9935ac 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceRegularExpressionParser.java
@@ -16,22 +16,12 @@
 public class StackTraceRegularExpressionParser
     implements StackTraceLineParser<String, StackTraceElementStringProxy> {
 
-  private static final String SUPPRESSED_OR_CAUSED_BY = "(Suppressed:\\s+|Caused [bB]y:\\s+)";
-
   // This is a slight modification of the default regular expression shown for proguard retrace
   // that allow for retracing classes in the form <class>: lorem ipsum...
   // Seems like Proguard retrace is expecting the form "Caused by: <class>".
   public static final String DEFAULT_REGULAR_EXPRESSION =
       "(?:.*?\\bat\\s+%c\\.%m\\s*\\(%S\\)\\p{Z}*(?:~\\[.*\\])?)"
-          // Match exception classes:
-          //   <class>:
-          // Suppressed: <class>:
-          // Caused by: <class>:
-          + "|"
-          + SUPPRESSED_OR_CAUSED_BY
-          + "?%c:\\s.*"
-          // Match exceptions on the form Exception in thread \"main\" <class>:
-          + "|Exception in .*\".*\"\\s%c";
+          + "|(?:(?:(?:%c|.*)?[:\"]\\s+)?%c(?::.*)?)";
 
   private final Pattern compiledPattern;
 
diff --git a/src/test/java/com/android/tools/r8/retrace/stacktraces/ExceptionMessageWithClassNameInMessage.java b/src/test/java/com/android/tools/r8/retrace/stacktraces/ExceptionMessageWithClassNameInMessage.java
index fe12cfe..496afb3 100644
--- a/src/test/java/com/android/tools/r8/retrace/stacktraces/ExceptionMessageWithClassNameInMessage.java
+++ b/src/test/java/com/android/tools/r8/retrace/stacktraces/ExceptionMessageWithClassNameInMessage.java
@@ -29,7 +29,7 @@
     return ImmutableList.of(
         "10-26 19:26:24.749 10159 26250 26363 E Tycho.crl: Exception",
         "10-26 19:26:24.749 10159 26250 26363 E Tycho.crl: java.util.concurrent.ExecutionException:"
-            + " ary: eu: Exception in CronetUrlRequest: net::ERR_CONNECTION_CLOSED,"
+            + " ary: eu: Exception in CronetUrlRequest: foo.bar.baz::ERR_CONNECTION_CLOSED,"
             + " ErrorCode=5, InternalErrorCode=-100, Retryable=true");
   }
 
@@ -38,7 +38,7 @@
     return ImmutableList.of(
         "10-26 19:26:24.749 10159 26250 26363 E Tycho.crl: Exception",
         "10-26 19:26:24.749 10159 26250 26363 E Tycho.crl: java.util.concurrent.ExecutionException:"
-            + " ary: eu: Exception in CronetUrlRequest: net::ERR_CONNECTION_CLOSED,"
+            + " ary: eu: Exception in CronetUrlRequest: foo.bar.baz::ERR_CONNECTION_CLOSED,"
             + " ErrorCode=5, InternalErrorCode=-100, Retryable=true");
   }
 
diff --git a/src/test/java/com/android/tools/r8/retrace/stacktraces/InlineRemoveFrameJava17StackTrace.java b/src/test/java/com/android/tools/r8/retrace/stacktraces/InlineRemoveFrameJava17StackTrace.java
index 7d30160..b899077 100644
--- a/src/test/java/com/android/tools/r8/retrace/stacktraces/InlineRemoveFrameJava17StackTrace.java
+++ b/src/test/java/com/android/tools/r8/retrace/stacktraces/InlineRemoveFrameJava17StackTrace.java
@@ -38,8 +38,6 @@
   public List<String> retracedStackTrace() {
     return Arrays.asList(
         "java.lang.NullPointerException",
-        // TODO(b/300416467): The topmost inner frame should be removed.
-        "\tat foo.Class.inlinable(Class.java:90)",
         "\tat foo.Class.caller(Class.java:97)",
         "\tat foo.Class.outerCaller(Class.java:107)",
         "\tat foo.Class.main(Class.java:111)");
@@ -49,8 +47,6 @@
   public List<String> retraceVerboseStackTrace() {
     return Arrays.asList(
         "java.lang.NullPointerException",
-        // TODO(b/300416467): The topmost inner frame should be removed.
-        "\tat foo.Class.void inlinable()(Class.java:90)",
         "\tat foo.Class.void caller()(Class.java:97)",
         "\tat foo.Class.void outerCaller()(Class.java:107)",
         "\tat foo.Class.void main()(Class.java:111)");
