(cherry picked from commit fd536ff648370a60ef89d4428fedd949a3e62ae7)
(cherry picked from commit afd8d54cb0a2b75ed383aecbd52241c47bd6be62)