(cherry picked from commit 73a044a63822303f792183244e25432528ecfb1e) (cherry picked from commit dd094d79023f6598e47146166aa8c213e03d41b7)