(cherry picked from commit 86ae43bc23afb68dc6c6b13b147e4e64a2d34077)
(cherry picked from commit 85f5ccb87604c04323553346f60ed2e64034260f)