diff --git a/iron-form.html b/iron-form.html
index c31d669..610aaef 100644
--- a/iron-form.html
+++ b/iron-form.html
@@ -224,6 +224,7 @@
_init: function() {
this._form.addEventListener('submit', this.submit.bind(this));
this._form.addEventListener('reset', this.reset.bind(this));
+ this.addEventListener("dom-change", this._saveInitialValues.bind(this));
// Save the initial values.
this._defaults = this._defaults || new WeakMap();
diff --git a/test/basic.html b/test/basic.html
index f2a06f4..88f2bac 100644
--- a/test/basic.html
+++ b/test/basic.html
@@ -241,6 +241,9 @@
+ >
+
+
@@ -255,6 +258,12 @@
+
+
+
+
+
+
@@ -907,15 +916,20 @@
}
document.getElementById('repeat').items = ['item'];
-
+
Polymer.Base.async(function() {
document.getElementById('paper_0').value = 'input1++';
+ document.getElementById('if').if = true;
- form.reset();
-
- expect(document.getElementById('paper_0').value).to.be.equal('input');
- done();
+ Polymer.Base.async(function() {
+ document.getElementById('dynamic_if').value = 'input1++';
+ form.reset();
+
+ expect(document.getElementById('paper_0').value).to.be.equal('input');
+ expect(document.getElementById('dynamic_if').value).to.be.equal('dynamic field');
+ done();
+ }, 0);
}, 1);
});