(cherry picked from commit 4146fd960c379973c83eb4e0ea35680a98f4bc41)
(cherry picked from commit f99199c2fcf1767bfa2287c220ca341a555ae191)