Unexpected values for fix_couple spring force when using fix_ave/time

I am using a series of equilibrium simulations to calculate a transfer free energy
across a boundary between two solvents, using fix_couple, and I'm getting some
unexpected output when using fix_ave/time to average.

There is a line in my input script that looks like this:

  fix spring1 solvent2 spring couple sphere1 \{springk\} NULL NULL {zd} 0.0

The line that produces the output looks like this:

  fix out1 all ave/time 1 \{block\} {block} f_spring1[1] f_spring1[2] f_spring1[3] f_spring1[4] file outputfile

If block is 1 (no averaging), f_spring[3] and f_spring[4] agree completely, like so:

# TimeStep f_spring1[1] f_spring1[2] f_spring1[3] f_spring1[4]
10084 0 0 13.855 13.855
10085 0 0 14.1083 14.1083
10086 0 0 14.3792 14.3792
10087 0 0 14.666 14.666
10088 0 0 14.9671 14.9671

If block is 100, the values for f_spring[4] are sometimes the negative inverse of the reported values
for f_spring[3], and sometimes they are totally different, like so:

# TimeStep f_spring1[1] f_spring1[2] f_spring1[3] f_spring1[4]
10600 0 0 23.0602 23.0602
10700 0 0 20.1244 20.1244
10800 0 0 10.6168 15.8942 <--
10900 0 0 5.24723 6.86575 <--
11000 0 0 2.58494 4.57676 <--

So, I am wondering what is the reason for the discrepancy. I have been using f_spring[3]
to calculate the spring force but, if it does not agree with the f_spring[4] value even though
[1] and [2] (for x and y) are zero, is that a valid thing to do anymore?

I totally missed the fact that f_spring[4] is always positive, so accumulated
differences from sign changes will of course cause the averaged values to differ
from those of f_spring[3]. Elementary mistake, please disregard...