diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts
index 46b3df4c31..6045daaf36 100644
--- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts
+++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts
@@ -447,7 +447,7 @@ export default class InlineComponentWrapper extends Wrapper {
`);
block.builders.intro.add_block(deindent`
- @transition_in(${name}.$$.fragment, #local);
+ if (${name}) @transition_in(${name}.$$.fragment, #local);
`);
if (updates.length) {
diff --git a/test/runtime/samples/dynamic-component-nulled-out-intro/_config.js b/test/runtime/samples/dynamic-component-nulled-out-intro/_config.js
new file mode 100644
index 0000000000..9759ada538
--- /dev/null
+++ b/test/runtime/samples/dynamic-component-nulled-out-intro/_config.js
@@ -0,0 +1,5 @@
+export default {
+ test({ component }) {
+ component.visible = true;
+ }
+};
\ No newline at end of file
diff --git a/test/runtime/samples/dynamic-component-nulled-out-intro/main.svelte b/test/runtime/samples/dynamic-component-nulled-out-intro/main.svelte
new file mode 100644
index 0000000000..eac72cf694
--- /dev/null
+++ b/test/runtime/samples/dynamic-component-nulled-out-intro/main.svelte
@@ -0,0 +1,7 @@
+
+
+{#if visible}
+
+{/if}
\ No newline at end of file