(cherry picked from commit 6565b905da6d1cc50ba0d0b7d8ee092f1f77a1d5)
(cherry picked from commit 4c39e804f9dec9967da689cd7bef6aad76c81db7)