diff --git a/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js b/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js
index 0c39f61e97..d420720dea 100644
--- a/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js
+++ b/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js
@@ -199,7 +199,7 @@ export function server_component(analysis, options) {
b.stmt(b.call('$$render_inner', b.id('$$inner_payload')))
])
),
- b.stmt(b.call('$.assign_payload', b.id('$$payload'), b.id('$$inner_payload')))
+ b.stmt(b.call('$$payload.subsume', b.id('$$inner_payload')))
];
}
diff --git a/packages/svelte/src/internal/server/index.js b/packages/svelte/src/internal/server/index.js
index f027da860e..2729fc0d0b 100644
--- a/packages/svelte/src/internal/server/index.js
+++ b/packages/svelte/src/internal/server/index.js
@@ -513,8 +513,6 @@ export { push, pop } from './context.js';
export { push_element, pop_element, validate_snippet_args } from './dev.js';
-export { assign_payload } from './payload.js';
-
export { snapshot } from '../shared/clone.js';
export { fallback, to_array } from '../shared/utils.js';
@@ -573,28 +571,21 @@ export function valueless_option(payload, children) {
// post-children, `payload` has child content, possibly also with some number of hydration comments.
// we can compact this last chunk of content to see if it matches the select value...
- let match = false;
payload.compact({
start: i,
fn: (body) => {
if (body.replace(//g, '') === payload.select_value) {
- match = true;
+ // ...and if it does match the select value, we can compact the part of the payload representing the `