Has anybody encountered such a problem about ofdm coarse frequency offset shifting?

When I use gnuradio ofdm benchmark_tx.py and benchmark_rx.py at two
USRPs to perform an ofdm transceiver,
I have observed that sometimes, the BER boosts for a short while. Almost
all the bits are wrong at that moment.
After debugging, I’ve found that during that period of time, the
correlation function inside the digital_ofdm_frame_acquisition.cc
makes the variable d_coarse_freq to be -1. That is normal, of course,
and I have found that the value of -1 is correct after comparing
the odd positions and even positions.

But what is not normal is that, after the channel estimation, when we
were going to demodulate the real data, that means the next frame
after the preamble frame, the data shifts to the normal places, that
means if the d_coarse_freq is 0, that would be correct. But as
the d_coarse_freq is already set to be -1, every position shift one
place, thus almost every bit is wrong demodulated.

Can anybody give me some advice?