Maybe more of suggestion than a bug:
The way Copy Error and Point mutation used to work:
For all sysvars below 100 it would generate a new sysvar using gauss that is approximately within 30 commands of the old sysvar.
For all sysvars above 100 it would generate a new sysvar using gauss that is approximately within (3/10 * old sysvar) commands of the old sysvar.
This means with lower values it would try to select a value in the same group while for high values command groupings are ignored.
This does not play well with how sysvars are grouped. For example chloroplast sysvars groups are ignored because the whole group has a high sysvar range.
I simplified this with the following:
For all sysvar below 1000
1/2 chance the value will be within 21 commands.
and
1/2 chance the value will be within 282 commands.
To keep things interesting, for large numbers, all numbers above 1000, generate a new number using gauss that is approximately within (3/10 * old number) commands of the old number.
Also, I already implemented it in my local repository and really do not feel like reverting it.