(cherry picked from commit 6d2f7de68beedf582d2125c5c3f675593eda027b)
(cherry picked from commit fbe56f4f087afb0bc33eb2bd31e7c76dc08b22b8)