(cherry picked from commit c4a9fce0c08ce0c6976bc367ade567430fbfcff3)
(cherry picked from commit 35fb38a1ed860cfa65ee57ec6d1e5e715fb1b7a7)