update (reverse-merged from commit d42545d062b831efebb17e34d4428ba9d20ceb69)