(cherry picked from commit 02ceb7b87c6d408153aeade0c603343d6eefe10a) (cherry picked from commit b4097794d56e78c16733c329526db96779ffe4a4)