This reverts commit 97769f3d02. The code is confusing but this change is quite risky. Defer for now until we can look at it properly.
97769f3d02