diff --git a/lib/mixins/properties-changed.js b/lib/mixins/properties-changed.js index 9e481d6734..ee2d84224b 100644 --- a/lib/mixins/properties-changed.js +++ b/lib/mixins/properties-changed.js @@ -374,16 +374,19 @@ export const PropertiesChanged = dedupingMixin( * @override */ _flushProperties() { - this.__dataCounter++; - const props = this.__data; - const changedProps = this.__dataPending; - const old = this.__dataOld; - if (this._shouldPropertiesChange(props, changedProps, old)) { - this.__dataPending = null; - this.__dataOld = null; - this._propertiesChanged(props, changedProps, old); + try { + this.__dataCounter++; + const props = this.__data; + const changedProps = this.__dataPending; + const old = this.__dataOld; + if (this._shouldPropertiesChange(props, changedProps, old)) { + this.__dataPending = null; + this.__dataOld = null; + this._propertiesChanged(props, changedProps, old); + } + } finally { + this.__dataCounter--; } - this.__dataCounter--; } /**