(cherry picked from commit cde56b9cefe1eb2943eef56a6aa7fdfa1b78e909)
(cherry picked from commit 89354f0475efa8e393697b1ddc227c94a76b5923)