(cherry picked from commit 54c26abcd4c97b726ceb9adcfa5608bc4080746a)
(cherry picked from commit 1a973806ca0af75355a62bbc59165ceff8ce294a)