diff --git a/src/compiler/compile/render_dom/wrappers/IfBlock.ts b/src/compiler/compile/render_dom/wrappers/IfBlock.ts
index f67d8ddf07..9b3e56635d 100644
--- a/src/compiler/compile/render_dom/wrappers/IfBlock.ts
+++ b/src/compiler/compile/render_dom/wrappers/IfBlock.ts
@@ -521,21 +521,21 @@ export default class IfBlockWrapper extends Wrapper {
const update_mount_node = this.get_update_mount_node(anchor);
const enter = b`
- if (!${name}) {
- ${name} = ${branch.block.name}(#ctx);
- ${name}.c();
- ${has_transitions && b`@transition_in(${name}, 1);`}
- ${name}.m(${update_mount_node}, ${anchor});
- } else {
- ${dynamic && b`${name}.p(#ctx, #dirty);`}
- ${
- has_transitions &&
- b`if (${block.renderer.dirty(branch.dependencies)}) {
+ if (${name}) {
+ ${dynamic && b`${name}.p(#ctx, #dirty);`}
+ ${
+ has_transitions &&
+ b`if (${block.renderer.dirty(branch.dependencies)}) {
@transition_in(${name}, 1);
}`
- }
}
- `;
+ } else {
+ ${name} = ${branch.block.name}(#ctx);
+ ${name}.c();
+ ${has_transitions && b`@transition_in(${name}, 1);`}
+ ${name}.m(${update_mount_node}, ${anchor});
+ }
+ `;
if (branch.snippet) {
block.chunks.update.push(b`if (${block.renderer.dirty(branch.dependencies)}) ${branch.condition} = ${branch.snippet}`);
diff --git a/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte b/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte
index cbb4db0429..adb9aaea0e 100644
--- a/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte
+++ b/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte
@@ -1,18 +1,18 @@