(cherry picked from commit 73a21fd61f94215f70946580e0c75a7b8530063b)
(cherry picked from commit 5240fe24066f75015dec00f97a630d2a7dfb52f0)