(cherry picked from commit 01ad405dd2f0dea00ef076926d2487ab915ada29)
(cherry picked from commit 86e59977dec252b180fa63a2a82c6fc8bcbcfe69)