diff --git a/src/compiler/compile/render_dom/Renderer.ts b/src/compiler/compile/render_dom/Renderer.ts
index 0b2dc6bfbc..046a90b684 100644
--- a/src/compiler/compile/render_dom/Renderer.ts
+++ b/src/compiler/compile/render_dom/Renderer.ts
@@ -86,8 +86,6 @@ export default class Renderer {
null
);
- this.context_overflow = this.context.length > 31;
-
// TODO messy
this.blocks.forEach(block => {
if (block instanceof Block) {
@@ -99,6 +97,8 @@ export default class Renderer {
this.fragment.render(this.block, null, x`#nodes` as Identifier);
+ this.context_overflow = this.context.length > 31;
+
this.context.forEach(member => {
const { variable } = member;
if (variable) {
diff --git a/test/runtime/samples/bitmask-overflow-3/_config.js b/test/runtime/samples/bitmask-overflow-3/_config.js
new file mode 100644
index 0000000000..aee7d3237e
--- /dev/null
+++ b/test/runtime/samples/bitmask-overflow-3/_config.js
@@ -0,0 +1,3 @@
+export default {
+ error: `A is not defined`,
+};
\ No newline at end of file
diff --git a/test/runtime/samples/bitmask-overflow-3/main.svelte b/test/runtime/samples/bitmask-overflow-3/main.svelte
new file mode 100644
index 0000000000..aa2c56a147
--- /dev/null
+++ b/test/runtime/samples/bitmask-overflow-3/main.svelte
@@ -0,0 +1,4 @@
+
+foo