(cherry picked from commit 48bd0c19f479433f585db9554ec5d604f3623b4f)
(cherry picked from commit 74c3a5960774bd5a7d7bebf1edcb35dff715f2a4)