Are there any known problems with using floating point maths inside an ISR?

My Goertzel routine, that works perfectly in the foreground, produces rubbish when I move the calculations to the ISR.

And yes, I know it's heresy to write ISRs that take longer than a few femtoseconds, but I'd like to get to the bottom of this. Also, if I could do the calculations in the ISR it would save me around 2K of RAM that's otherwise used for two buffers.

This is using Studio 5.1 and an XMega256A3U, BTW.