(cherry picked from commit 3802fee661b59cb43f07b3b44a8f8e94a500d111)
(cherry picked from commit 22adab859036096793bfef0d7771a9f37af83c8f)