diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteLocalDelegatedPropertyTest.java
similarity index 93%
rename from src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java
rename to src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteLocalDelegatedPropertyTest.java
index ffe8b3a..9f826ab 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteLocalDelegatedPropertyTest.java
@@ -21,9 +21,9 @@
 import org.junit.runners.Parameterized;
 
 @RunWith(Parameterized.class)
-public class MetadataRewriteDelegatedPropertyTest extends KotlinMetadataTestBase {
+public class MetadataRewriteLocalDelegatedPropertyTest extends KotlinMetadataTestBase {
 
-  private static final String PKG_APP = PKG + ".delegated_property_app";
+  private static final String PKG_APP = PKG + ".local_delegated_property_app";
   private static final String EXPECTED_MAIN =
       StringUtils.lines(
           "Initial string has been read in CustomDelegate from 'x'",
@@ -40,7 +40,7 @@
         getKotlinTestParameters().withAllCompilersAndTargetVersions().build());
   }
 
-  public MetadataRewriteDelegatedPropertyTest(
+  public MetadataRewriteLocalDelegatedPropertyTest(
       TestParameters parameters, KotlinTestParameters kotlinParameters) {
     super(kotlinParameters);
     this.parameters = parameters;
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/delegated_property_app/main.kt b/src/test/java/com/android/tools/r8/kotlin/metadata/local_delegated_property_app/main.kt
similarity index 95%
rename from src/test/java/com/android/tools/r8/kotlin/metadata/delegated_property_app/main.kt
rename to src/test/java/com/android/tools/r8/kotlin/metadata/local_delegated_property_app/main.kt
index a35754f..b8959e8 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/delegated_property_app/main.kt
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/local_delegated_property_app/main.kt
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.kotlin.metadata.delegated_property_app
+package com.android.tools.r8.kotlin.metadata.local_delegated_property_app
 
 import kotlin.reflect.KMutableProperty1
 import kotlin.reflect.KProperty
