Somehow the changes I made here fix the symmetry issue. This needs looking at with a clear head, as I'm confused by exactly what change was crucial.