**Do you want to request a *feature* or report a *bug*?**
Bug

**What is the current behavior?**
In React 15.6.1, this behaviour is changed; In 15.5.4, it fires the change event reliably.

15.6.1 - https://codesandbox.io/embed/VPA42ZnRo
15.5.4 - https://codesandbox.io/embed/JZ0mnE5oy

You'll need to have the console open to get the debugger statement.

In 15.6.1, the first change fires, but all subsequent changes do not fire. In 15.5.4, all changes fire.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

React 15.6.1 vs React 15.5.4; Chrome latest stable.

* TODO: Benchmark areas that can be improved with caching.
   *
   * @private
   * @param {object} lastProps
   * @param {object} nextProps
   * @param {?DOMElement} node
   */
  _updateDOMProperties: function(
    lastProps,
    nextProps,
    transaction,
    isCustomComponentTag,
  ) {
    var propKey;
    var styleName;
    var styleUpdates;
    for (propKey in lastProps) {
      if (
        nextProps.hasOwnProperty(propKey) ||
        !lastProps.hasOwnProperty(propKey) ||
        lastProps[propKey] == null
      ) {
        continue;
      }
      if (propKey === STYLE) {
        var lastStyle = lastProps[STYLE];
        for (styleName in lastStyle) {
          if (lastStyle.hasOwnProperty(styleName)) {
            styleUpdates = styleUpdates || {};
            styleUpdates[styleName] = '';