(cherry picked from commit 4798276fcbaa36e1c6edae8622d02d8966fb157a)
(cherry picked from commit 3317f7066494eceb0a3e5f00071ba7378293407e)