(cherry picked from commit 4cec9975c0e2c2fcca090888dc2c5e149c5be1e9) (cherry picked from commit f267fe567cab1db6508412509743e80f59ea69da)