(cherry picked from commit 9bd18324c7801472409d9ad69ea365aa7a33a9c4) (cherry picked from commit bad5d81ac1472bf021463d7b6bdb166965ff021a)