do not merge: cherrypicked a83a03bbf0a7480c856d102a2b3a7f823ac4566b and a076d0dbd1d1afa7695150fddc8f9aae414f4c5d from master branch
3 files changed