(cherry picked from commit 5ec7fcd9dd6bb86858c6e2583321bb9a615bd392)
(cherry picked from commit 59384dfb710f42d2a419c1b7db5a1a62a39be5f3)