(cherry picked from commit 914f5e569b6d1ca3150da954dcd3cfef96c9ef37)
(cherry picked from commit 8ba75831e6f51f6472d85f813405ede3f679cfd8)