diff --git a/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts b/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts index 81e5cf2e7f..55f8c90338 100644 --- a/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts +++ b/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts @@ -260,11 +260,19 @@ export class ExecuteWorkflow implements INodeType { items, ); - const pairedItem = generatePairedItemData(items.length); + const fallbackPairedItemData = generatePairedItemData(items.length); for (const output of workflowResult) { - for (const item of output) { - item.pairedItem = pairedItem; + const sameLength = output.length === items.length; + + for (const [itemIndex, item] of output.entries()) { + if (item.pairedItem) continue; + + if (sameLength) { + item.pairedItem = { item: itemIndex }; + } else { + item.pairedItem = fallbackPairedItemData; + } } }