Merge to upstream 7c8181bedebe0edbd43c5d14c760f0011d8b3fcc.