(cherry picked from commit 64fa39ae89a6b7a024028005fb669ac7c20689b6)
(cherry picked from commit 9287cc2d51974b2acbf570a285fddf07e3dd6157)