mirroring controls, rotation offset and flipping mesh


Hello everybody.

I haven’t made a rig in a long while and I am picking it up again but I am running into a problem when assigning my constraints to the other arm.

What I have is this; I made a charatcer which is a robot and so it didn’t really need any joints. For the purpose I am using it I am mostly parent constraining it to coontrols which are nurb curves. So yes basically FK.

Setting the controls went as the following; I first made a locator which had the same position and rotation as the curve then put the curve in the group of the locator so the rotation offset remains the same. The, after freeze transforming the remaining bits which keep a value to return them to 0 I constrain the mesh to the control.

On one arm it works, but when I grab the entire group of controls, duplicate them and flip them to the other side (followed by a freeze transform for the scaling) things go wrong, that being that when I constrain anything the mesh flips 180 degrees on its X axes the same as the previous scaling.

I have torn all curve groups apart to reassemble the locator groups but all their translation, orientation and scaling are set to 1 so I cannot find any place where there is still data on there.

If I make a new curve, point and rotate constrain it to the duplicate then the same thing happens.

I found some youtubers who explain using a group, this is mostly for keeping the rotation axes, and putting the curve in there but when I flip them then this same thing happens.

Am I overlooking something?
I am sure I am, but I would really appreciate any help I can get.