merged from 3.1.2