diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt
index d1e728b..a41b2d7 100644
--- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt
+++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt
@@ -792,7 +792,6 @@
                     newDeclaration,
                     type = localFunctionContext.remapType(param.type),
                     varargElementType = param.varargElementType?.let { localFunctionContext.remapType(it) },
-                    kind = if (param.kind == IrParameterKind.ExtensionReceiver) param.kind else IrParameterKind.Regular,
                 ).also {
                     newParameterToOld.putAbsentOrSame(it, param)
                 }
@@ -824,8 +823,12 @@
             }
 
             // For now, we must preserve the parameter kind order since the old API is still in use, and the bridge expects the canonical order.
-            val (extensionReceiver, nonExtensionParameters) = transformedParameters.partition { it.kind == IrParameterKind.ExtensionReceiver }
-            return extensionReceiver + parametersForCapturedValues + nonExtensionParameters
+            val capturedValuesStartIndex = transformedParameters.indexOfFirst { it.kind == IrParameterKind.Regular }
+                .takeIf { it != -1 } ?: transformedParameters.size
+            return buildList {
+                addAll(transformedParameters)
+                addAll(capturedValuesStartIndex, parametersForCapturedValues)
+            }
         }
 
         private fun IrFunction.recordTransformedValueParameters(localContext: LocalContextWithClosureAsParameters) {
