update (reverse-merged from commit 33730c247f9e1d8ac29621015e21996f123180cd)