diff --git a/packages/svelte/src/compiler/migrate/index.js b/packages/svelte/src/compiler/migrate/index.js
index 6949be129b..8337431dcf 100644
--- a/packages/svelte/src/compiler/migrate/index.js
+++ b/packages/svelte/src/compiler/migrate/index.js
@@ -421,7 +421,7 @@ const template = {
slot_props += `...${state.str.original.substring(/** @type {number} */ (attr.expression.start), attr.expression.end)}, `;
} else if (attr.type === 'Attribute') {
if (attr.name === 'name') {
- name = /** @type {any} */ (attr.value)[0].data;
+ name = state.scope.generate(/** @type {any} */ (attr.value)[0].data);
} else {
const value =
attr.value !== true
diff --git a/packages/svelte/tests/migrate/samples/slots/input.svelte b/packages/svelte/tests/migrate/samples/slots/input.svelte
index c383095f75..e71004fcfe 100644
--- a/packages/svelte/tests/migrate/samples/slots/input.svelte
+++ b/packages/svelte/tests/migrate/samples/slots/input.svelte
@@ -3,3 +3,5 @@
{#if foo}
{/if}
+
+
\ No newline at end of file
diff --git a/packages/svelte/tests/migrate/samples/slots/output.svelte b/packages/svelte/tests/migrate/samples/slots/output.svelte
index 79ba8f3a97..8bdf9a06c4 100644
--- a/packages/svelte/tests/migrate/samples/slots/output.svelte
+++ b/packages/svelte/tests/migrate/samples/slots/output.svelte
@@ -1,9 +1,11 @@
{#if foo}
- {@render foo?.({ foo, })}
-{/if}
\ No newline at end of file
+ {@render foo_1?.({ foo, })}
+{/if}
+
+{@render dashed_name?.()}
\ No newline at end of file