merge #15357 with fixes