(cherry picked from commit fb90a85e43aca87705699425409e5bc2a3e6d659)
(cherry picked from commit 7af2a3bcc31dcfdc65db4fec968008b3a834bd2e)