Issues with zero frequency component in discrete Fourier transform

I'm having trouble with the Fourier function at the moment. I'm solving a set of differential equations with NDSolve, then need to extract the spectrum associated with the curve below:

So i use table to generate a list of data from the output of NDSolve, called 'list', and then use the following code to do generate the Fourier transform:

T = 800;
dt = T/(10000 - 1);
n = Length[list];
ssf = RotateRight[Range[-n/2, n/2 - 1]/(n dt), n/2];
fft = Fourier[list, FourierParameters -> {-1, 1}] // Chop;
Fourdata = Transpose[{ssf, Abs[fft]}];


this gives the spectrum:

it seems like something weird is happening at zero frequency, with a small discontinuity, and a line running along at zero for all frequencies. I've messed around with both the propagation time and time steps, but it doesn't seem to go away.

Does anyone have any insight into this?

I suggest including the code to produce list if you wish to quickly get helpful answers. –  Mr.Wizard Aug 5 at 16:37