Uboot resets when loading FPGA twice

I have an issue that when I reboot the HPS from linux console the system resets while loading the FPGA in uboot and restarts again (booting fine the second time). With some more testing I found that if I just boot in to uboot and load the FPGA twice it also does the same behaviour. This is causing an issue because I am loading the FPGA from a fit image and it is adding ~5s to boot time when this occurs.

I suspect the FPGA needs to be reset, before reprogramming? Is there a way to do this from uboot? Or before the linux system shutsdown?

Anyone else had a similar issue?

If anyone has any suggestions on ways to fix it, or a work around, it would be greatly appreciated.