(cherry picked from commit 8ffabfdf4fec104cdaa68133385cfe9cf88b95a8) (cherry picked from commit b2a654c5ee6524f81c971ea0b70e58ea0a455f1d)