diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle
index f799c6c..e1f56ab 100644
--- a/kotlin-native/backend.native/tests/build.gradle
+++ b/kotlin-native/backend.native/tests/build.gradle
@@ -4443,6 +4443,10 @@
         it.defFile 'interop/objc/kt53151/objclib.def'
         it.compilerOpts "-F$projectDir/interop/objc/kt53151/testFramework"
     }
+    createInterop("objc_kt55938") {
+        it.defFile 'interop/objc/kt55938/objclib.def'
+        it.headers "$projectDir/interop/objc/kt55938/objclib.h"
+    }
 
     createInterop("kt49034_struct") {
         it.defFile 'interop/objc/kt49034/struct/kt49034.def'
@@ -5166,6 +5170,7 @@
                 UtilsKt.codesign(project, "$buildDir/libobjc_kt42172.dylib")
             }
         }
+
     }
 
     interopTest("interop_objc_kt48816_without_lazy_ir_for_caches") {
@@ -5197,6 +5202,34 @@
         interop = "objc_kt53151"
     }
 
+    interopTest("interop_objc_kt55938") {
+        source = "interop/objc/kt55938/main.kt"
+        lib = "interop/objc/kt55938/lib.kt"
+        interop = "objc_kt55938"
+        useGoldenData = true
+        enabled = cacheTesting != null
+        flags = [
+                "-Xauto-cache-from=$testOutputRoot/local/objc_kt55938",
+                "-Xauto-cache-from=$testOutputRoot/local/interop_objc_kt55938",
+                "-Xauto-cache-dir=$testOutputRoot/local/interop_objc_kt55938/cache",
+                "-Werror" // to forbid retry with auto-cache disabled
+        ]
+
+        doBeforeBuild {
+            mkdir(buildDir)
+            def cacheDir = new File("-Xauto-cache-dir=$testOutputRoot/local/interop_objc_kt55938/cache")
+            cacheDir.deleteDir()
+            project.extensions.execClang.execClangForCompilerTests(project.target) {
+                args "$projectDir/interop/objc/kt55938/objclib.m"
+                args "-lobjc", '-fobjc-arc'
+                args '-fPIC', '-shared', '-o', "$buildDir/libobjc_kt55938.dylib"
+            }
+            if (UtilsKt.isSimulatorTarget(project, project.target)) {
+                UtilsKt.codesign(project, "$buildDir/libobjc_kt55938.dylib")
+            }
+        }
+    }
+
     standaloneTest("objc_arc_contract") {
         doBeforeBuild {
             mkdir(buildDir)
diff --git a/kotlin-native/backend.native/tests/interop/objc/kt55938/lib.kt b/kotlin-native/backend.native/tests/interop/objc/kt55938/lib.kt
new file mode 100644
index 0000000..7cf158e
--- /dev/null
+++ b/kotlin-native/backend.native/tests/interop/objc/kt55938/lib.kt
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2010-2023 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.
+ */
+
+package kt55938lib
+
+import objclib.*
+
+inline fun foo() = ObjCClass.foo()
diff --git a/kotlin-native/backend.native/tests/interop/objc/kt55938/main.kt b/kotlin-native/backend.native/tests/interop/objc/kt55938/main.kt
new file mode 100644
index 0000000..d8c0c7b
--- /dev/null
+++ b/kotlin-native/backend.native/tests/interop/objc/kt55938/main.kt
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2010-2023 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.
+ */
+
+import kt55938lib.*
+
+fun main() {
+    print("foo() call result is ${foo()}")
+}
\ No newline at end of file
diff --git a/kotlin-native/backend.native/tests/interop/objc/kt55938/main.out b/kotlin-native/backend.native/tests/interop/objc/kt55938/main.out
new file mode 100644
index 0000000..7b82c15
--- /dev/null
+++ b/kotlin-native/backend.native/tests/interop/objc/kt55938/main.out
@@ -0,0 +1 @@
+foo() call result is 42
\ No newline at end of file
diff --git a/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.def b/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.def
new file mode 100644
index 0000000..de366f8
--- /dev/null
+++ b/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.def
@@ -0,0 +1,3 @@
+language = Objective-C
+headerFilter = **/objclib.h
+linkerOpts = -lobjc_kt55938
diff --git a/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.h b/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.h
new file mode 100644
index 0000000..5103e88
--- /dev/null
+++ b/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.h
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+
+@interface ObjCClass : NSObject
++ (int)foo;
+@end
\ No newline at end of file
diff --git a/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.m b/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.m
new file mode 100644
index 0000000..a0f318f
--- /dev/null
+++ b/kotlin-native/backend.native/tests/interop/objc/kt55938/objclib.m
@@ -0,0 +1,11 @@
+#include "objclib.h"
+
+
+@implementation ObjCClass {
+}
+
++ (int)foo {
+  return 42;
+}
+
+@end
\ No newline at end of file
