(cherry picked from commit 91880c303a418b6a4991779a28bf005ca8b1e611)
(cherry picked from commit 8ea12dd106966f2a1cfc9884c6813781448116a8)