diff --git a/src/lib/bind/accessors.html b/src/lib/bind/accessors.html index 679ffae269..66175deae6 100644 --- a/src/lib/bind/accessors.html +++ b/src/lib/bind/accessors.html @@ -219,7 +219,12 @@ if (targetPath) { this._notifyPath(this._fixPath(path, property, targetPath), value); } else { - value = value !== undefined ? value : target[property]; + // TODO(sorvell): even though we have a `value` argument, we *must* + // lookup the current value of the property. Multiple listeners and + // queued events during configuration can theoretically lead to + // divergence of the passed value from the current value, but we + // really need to track down a specific case where this happens. + value = target[property]; if (!isStructured) { this[path] = value; } else {