Rotating to -forward goes upside down

I’m probably missing something simple but I’m trying to turn the character around. Rotating to -transform.forward makes him rotate upside down.

Quaternion r = Quaternion.LookRotation(transform.forward, -transform.forward)
r *= transform.rotation

Rotating to transform.right twice works but is there a way to get the above to work?

There is an infinity of possible rotation to do that, Unity had to pick one. Try Quaternion.AngleAxis instead.