diff --git a/compiler/testData/codegen/box/annotations/repeatable/jvmRepeatableKotlinAnnotation.kt b/compiler/testData/codegen/box/annotations/repeatable/jvmRepeatableKotlinAnnotation.kt
index 03f3d3e7a2b..20a3d3b1d8f 100644
--- a/compiler/testData/codegen/box/annotations/repeatable/jvmRepeatableKotlinAnnotation.kt
+++ b/compiler/testData/codegen/box/annotations/repeatable/jvmRepeatableKotlinAnnotation.kt
@@ -1,13 +1,15 @@
// !LANGUAGE: +RepeatableAnnotations
+// !API_VERSION: LATEST
// TARGET_BACKEND: JVM_IR
// WITH_RUNTIME
// FULL_JDK
// JVM_TARGET: 1.8
+// STDLIB_JDK8
// java.lang.NoSuchMethodError: java.lang.Class.getAnnotationsByType
// IGNORE_BACKEND: ANDROID
-@java.lang.annotation.Repeatable(As::class)
+@JvmRepeatable(As::class)
annotation class A(val value: String)
annotation class As(val value: Array)
diff --git a/compiler/testData/codegen/box/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt b/compiler/testData/codegen/box/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt
index 32339868a53..823bdc79f43 100644
--- a/compiler/testData/codegen/box/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt
+++ b/compiler/testData/codegen/box/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt
@@ -1,14 +1,16 @@
// !LANGUAGE: +RepeatableAnnotations
+// !API_VERSION: LATEST
// TARGET_BACKEND: JVM_IR
// WITH_RUNTIME
// FULL_JDK
// JVM_TARGET: 1.8
+// STDLIB_JDK8
// java.lang.NoSuchMethodError: java.lang.Class.getAnnotationsByType
// IGNORE_BACKEND: ANDROID
@Repeatable
-@java.lang.annotation.Repeatable(As::class)
+@JvmRepeatable(As::class)
annotation class A(val value: String)
annotation class As(val value: Array)
diff --git a/compiler/testData/codegen/bytecodeListing/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt b/compiler/testData/codegen/bytecodeListing/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt
index 5bc1806f9f5..436ab65b6fe 100644
--- a/compiler/testData/codegen/bytecodeListing/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt
+++ b/compiler/testData/codegen/bytecodeListing/annotations/repeatable/kotlinAnnotationWithBothRepeatables.kt
@@ -1,13 +1,15 @@
// !LANGUAGE: +RepeatableAnnotations
+// !API_VERSION: LATEST
// TARGET_BACKEND: JVM_IR
// WITH_RUNTIME
// FULL_JDK
// JVM_TARGET: 1.8
+// STDLIB_JDK8
package test
@Repeatable
-@java.lang.annotation.Repeatable(As::class)
+@JvmRepeatable(As::class)
annotation class A(val value: String)
annotation class As(val value: Array)
diff --git a/libraries/stdlib/jdk8/src/kotlin/annotations/JvmRepeatable.kt b/libraries/stdlib/jdk8/src/kotlin/annotations/JvmRepeatable.kt
new file mode 100644
index 00000000000..c0686fb0d7d
--- /dev/null
+++ b/libraries/stdlib/jdk8/src/kotlin/annotations/JvmRepeatable.kt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
+@file:kotlin.jvm.JvmPackageName("kotlin.jvm.jdk8")
+
+package kotlin.jvm
+
+/**
+ * Makes the annotation class repeatable in Java and Kotlin. A repeatable annotation can be applied more than once
+ * on the same element.
+ *
+ * @property value the container annotation class, used to hold repeated entries of the annotation in the JVM bytecode.
+ */
+@Suppress("NEWER_VERSION_IN_SINCE_KOTLIN")
+@SinceKotlin("1.6")
+public typealias JvmRepeatable = java.lang.annotation.Repeatable