Merge #17282 with fixes

Merge #17282 with fixes