Merged in upstream changes.