Extracted changes from 2996