diff --git a/src/generators/dom/visitors/Component/Component.ts b/src/generators/dom/visitors/Component/Component.ts
index 7145f5de36d7..a9fff4ee398a 100644
--- a/src/generators/dom/visitors/Component/Component.ts
+++ b/src/generators/dom/visitors/Component/Component.ts
@@ -212,7 +212,7 @@ export default function visitComponent(
${updates.join('\n')}
- if ( Object.keys( ${name}_changes ).length ) ${name}.set( ${name}_changes );
+ if ( Object.keys( ${name}_changes ).length ) ${name}._set( ${name}_changes );
`);
}
diff --git a/test/runtime/samples/component-binding-blowback-c/Nested.html b/test/runtime/samples/component-binding-blowback-c/Nested.html
new file mode 100644
index 000000000000..a1420a6916ad
--- /dev/null
+++ b/test/runtime/samples/component-binding-blowback-c/Nested.html
@@ -0,0 +1,18 @@
+
+ {{yield}}
+
+
+
diff --git a/test/runtime/samples/component-binding-blowback-c/_config.js b/test/runtime/samples/component-binding-blowback-c/_config.js
new file mode 100644
index 000000000000..78c3e915fd19
--- /dev/null
+++ b/test/runtime/samples/component-binding-blowback-c/_config.js
@@ -0,0 +1,33 @@
+export default {
+ 'skip-ssr': true,
+
+ data: {
+ count: 3
+ },
+
+ html: `
+
+
+ - id-2: value is two
+ - id-1: value is one
+ - id-0: value is zero
+
+ `,
+
+ test (assert, component, target, window) {
+ const input = target.querySelector('input');
+
+ input.value = 4;
+ input.dispatchEvent(new window.Event('input'));
+
+ assert.htmlEqual(target.innerHTML, `
+
+
+ - id-3: value is three
+ - id-2: value is two
+ - id-1: value is one
+ - id-0: value is zero
+
+ `);
+ }
+};
diff --git a/test/runtime/samples/component-binding-blowback-c/main.html b/test/runtime/samples/component-binding-blowback-c/main.html
new file mode 100644
index 000000000000..3cf809552b16
--- /dev/null
+++ b/test/runtime/samples/component-binding-blowback-c/main.html
@@ -0,0 +1,34 @@
+
+
+
+ {{#each ids as object @id}}
+
+ {{object.id}}: value is {{idToValue[object.id]}}
+
+ {{/each}}
+
+
+