(Contributed by LiXin Ge via Daniel Templeton) (cherry picked from commit 036a24bab3f3ff89e3d52c5487fce0525c0d1d78)