diff --git a/build.gradle b/build.gradle
index 9316f6d..501df47 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1175,15 +1175,6 @@
     }
 }
 
-task buildPreNJdwpTestsJar(type: Jar) {
-    archiveFileName = 'jdwp-tests-preN.jar'
-    from zipTree('third_party/jdwp-tests/apache-harmony-jdwp-tests-host.jar')
-    // Exclude the classes containing java8
-    exclude 'org/apache/harmony/jpda/tests/jdwp/InterfaceType/*.class'
-    exclude 'org/apache/harmony/jpda/tests/jdwp/ObjectReference/InvokeMethodDefault*.class'
-    includeEmptyDirs = false
-}
-
 task generateR8TestKeepRules {
     def path = "build/generated/r8tests-keep.txt"
     outputs.file path
@@ -1742,7 +1733,6 @@
         }
         dependsOn downloadDeps
         dependsOn buildExamples
-        dependsOn buildPreNJdwpTestsJar
     } else {
         logger.lifecycle("WARNING: Testing in not supported on your platform. Testing is only fully supported on " +
             "Linux and partially supported on Mac OS and Windows. Art does not run on other platforms.")
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index f550b71..d902754 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -1243,12 +1243,11 @@
   }
 
   public static Path getJdwpTestsCfJarPath(AndroidApiLevel minSdk) {
-    if (minSdk.getLevel() >= AndroidApiLevel.N.getLevel()) {
-      return Paths.get(
-          ToolHelper.THIRD_PARTY_DIR, "jdwp-tests", "apache-harmony-jdwp-tests-host.jar");
-    } else {
-      return Paths.get(ToolHelper.BUILD_DIR, "libs", "jdwp-tests-preN.jar");
-    }
+    String jar =
+        minSdk.isLessThan(AndroidApiLevel.N)
+            ? "apache-harmony-jdwp-tests-host-preN.jar"
+            : "apache-harmony-jdwp-tests-host.jar";
+    return Paths.get(ToolHelper.THIRD_PARTY_DIR, "jdwp-tests", jar);
   }
 
   public static Path getJunitFromDeps() {
diff --git a/third_party/jdwp-tests.tar.gz.sha1 b/third_party/jdwp-tests.tar.gz.sha1
index 0da9451..2336888 100644
--- a/third_party/jdwp-tests.tar.gz.sha1
+++ b/third_party/jdwp-tests.tar.gz.sha1
@@ -1 +1 @@
-86eeaa4cfe57d20b03af02310acac89892db3bd3
\ No newline at end of file
+63441e6be020e613cf7cf2002c15c01c8cbf2577
\ No newline at end of file
