Repeat my earlier check-in 7accc22a99483c05944f25f55a0b22d7d5835758, which was mostly undone by Taek's changes