Backup (reverse-merged from commit 18ac1671ae073a0c11ddb24ba5bba714b88ae457)