This reverts commit fda4305e. Green dragon has spotted a problem -- it's understood, but might be fiddly to fix, reverting in the meantime.