I'm using UART0 RX interrupt on the ATMEGA 328 to call a created service routine named ISR_UART for handling incomming data, and this worked quite fine.... for most cases till now

For example, when I receive a command (byte) form the UART (PC-Terminal), ISR_UART executes the according routine.
Usually this routines are quite small, like sending some numbers back to the PC, and this always worked fine.
But now I'm sending data form an external SPI-Flash connected to the ATEMGA back to the PC (Baud Rate 38400), which takes from some second up to minutes.
The complete data is transferred to the PC always quite correct (as I can see in the Terminal program), but every now and then it seem that at the end of the ISR_UART, which is obviously reached, it doesn't jump back into the main routine.
It seems, it stucks in this interrupt routine as other commands from the PC are still executed well on the ATMEGA, except the main program!
It always needs a software reset (also one of my working UART commands) to get back to main.
I'd really appreciate any ideas how to solve this problem.
Isn't there a "jump" or a "goto"- command, like used within macro routines to jump back to main?
Many thanks!!
Niro