(cherry picked from commit bb4b91290e16e426a96d41ff220e06861bd59d87)
(cherry picked from commit 50e4c6ec55eea21a45a5a8dd31cd239245248df3)