diff --git a/src/compiler/compile/nodes/Binding.ts b/src/compiler/compile/nodes/Binding.ts
index b298a9d183..28e6af5aa1 100644
--- a/src/compiler/compile/nodes/Binding.ts
+++ b/src/compiler/compile/nodes/Binding.ts
@@ -52,7 +52,9 @@ export default class Binding extends Node {
} else if (this.is_contextual) {
scope.dependencies_for_name.get(name).forEach(name => {
const variable = component.var_lookup.get(name);
- variable[this.expression.node.type === 'MemberExpression' ? 'mutated' : 'reassigned'] = true;
+ if (variable) {
+ variable[this.expression.node.type === 'MemberExpression' ? 'mutated' : 'reassigned'] = true;
+ }
});
} else {
const variable = component.var_lookup.get(name);
diff --git a/test/runtime/samples/bindings-global-dependency/_config.js b/test/runtime/samples/bindings-global-dependency/_config.js
new file mode 100644
index 0000000000..f5ab04de78
--- /dev/null
+++ b/test/runtime/samples/bindings-global-dependency/_config.js
@@ -0,0 +1,3 @@
+export default {
+ html: ''
+};
\ No newline at end of file
diff --git a/test/runtime/samples/bindings-global-dependency/main.svelte b/test/runtime/samples/bindings-global-dependency/main.svelte
new file mode 100644
index 0000000000..15a4381a06
--- /dev/null
+++ b/test/runtime/samples/bindings-global-dependency/main.svelte
@@ -0,0 +1,9 @@
+
+
+{#each Object.values(data) as object}
+
+{/each}
\ No newline at end of file