(cherry picked from commit 1299a97579bec52ee3d16ab8d05c9e22edd80330)
(cherry picked from commit 07f0fbf9a51d54e44681fd0f74df4e048bff561a)