cherrypick d0a58adb4ab85cd1a69232522b194143a2c56709