<!--
  Note: if the issue is about documentation or the website, please file it at:
  https://github.com/reactjs/reactjs.org/issues/new
-->

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

Bug 

**What is the current behavior?**

React DOM crashes when `<option>` contains three interpolated value if one is a conditional. 

Reproduction: https://jsfiddle.net/0opjvycp/ 

1. Change the value of the `<select>`
2. React crashes with `NotFoundError: Node was not found` 

From what I can tell, the conditional value is necessary, and it must be three interpolated values. 

**What is the expected behavior?**

React should not crash. 

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

React DOM 16.2 and 16.0. I think this worked in 15.6 - https://jsfiddle.net/mrwkmuqc/ does not crash 

expect(clientNode.nodeType).toBe(serverNode.nodeType);
      
      
      
      expect(serverNode === clientNode).toBe(true);
      serverNode = serverNode.nextSibling;
      clientNode = clientNode.nextSibling;
    }
    return firstClientNode;
  };
  function BadMarkupExpected() {}
  const clientRenderOnBadMarkup = async (element, errorCount = 0) => {
    
    const domElement = document.createElement('div');
    domElement.innerHTML =
      '<div id="badIdWhichWillCauseMismatch" data-reactroot="" data-reactid="1"></div>';
    await renderIntoDom(element, domElement, true, errorCount + 1);
    
    const hydratedTextContent = domElement.textContent;
    
    const cleanDomElement = document.createElement('div');
    await asyncReactDOMRender(element, cleanDomElement, true);
    
    const cleanTextContent = cleanDomElement.textContent;
    
    expect(hydratedTextContent).toBe(cleanTextContent);
    
    throw new BadMarkupExpected();
  };