This reverts commit c29e23d6b75976dbaff5055e9ad08fc8dd97ae67. Well, this turned out to be worse than before.