Merge #18070 with fixes

Merge #18070 with fixes