(cherry picked from commit 2e17dd258223bdecbacbc415eb307fcc54ac2401)
(cherry picked from commit 78230893a8de70ea443e4e6730c0516fb651d4fb)