diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java
index 47b2a07eb63..022e46f9e5f 100644
--- a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java
+++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java
@@ -242,6 +242,7 @@ public class FunctionCodegen {
functionDescriptor.isSuspend() &&
functionDescriptor.getModality() != Modality.ABSTRACT && isOverridable(functionDescriptor) &&
!isInterface(functionDescriptor.getContainingDeclaration()) &&
+ !(functionDescriptor.getContainingDeclaration() instanceof PackageFragmentDescriptor) &&
origin.getOriginKind() != JvmDeclarationOriginKind.CLASS_MEMBER_DELEGATION_TO_DEFAULT_IMPL;
if (isOpenSuspendInClass) {
diff --git a/idea/testData/highlighter/TopLevelOpenSuspendFun.kt b/idea/testData/highlighter/TopLevelOpenSuspendFun.kt
new file mode 100644
index 00000000000..cc9e9b902e4
--- /dev/null
+++ b/idea/testData/highlighter/TopLevelOpenSuspendFun.kt
@@ -0,0 +1 @@
+open suspend fun f() {}
\ No newline at end of file
diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java
index a884d2a232a..8595d7fdcfa 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java
+++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/HighlightingTestGenerated.java
@@ -121,6 +121,12 @@ public class HighlightingTestGenerated extends AbstractHighlightingTest {
doTest(fileName);
}
+ @TestMetadata("TopLevelOpenSuspendFun.kt")
+ public void testTopLevelOpenSuspendFun() throws Exception {
+ String fileName = KotlinTestUtils.navigationMetadata("idea/testData/highlighter/TopLevelOpenSuspendFun.kt");
+ doTest(fileName);
+ }
+
@TestMetadata("TypeAlias.kt")
public void testTypeAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/highlighter/TypeAlias.kt");