follow and correct #2114, #2122, #2126