Merge to v6.0 original commit: 6d73aa4ef7e9dba3c4e4f97f946ed5dd5a9fbf2a
original commit: f8e81842800cb9ae7fdd8badf11f2328f603dfee