(cherry picked from commit 8c7331873e9d9563480486c72a6e73a29d6fd184)
(cherry picked from commit 103685269e632dba60c717f5168a99481695a6ab)