Looks like the 2-column situation has to be handled differently than the 3-column approach. The 4-column example shows that my current approach is not good enough and needs to be revisited.