(cherry picked from commit cd6c10de442fc3a53c9ed5521ac1d944a6ac95c6) (cherry picked from commit 2c79865b951d0fdea7f576ce31e310b4074ecedd)