merge 19488 back from the 3.1 branch