When an interrupt A occurs and the interrupt routine of A begins the GIE gets set to 0, if while we are in the A interrupt subroutine another interrupt B is triggered the program will continue in A's subroutine because GIE is not enabled
Why are you turning GIE off in the interrupt handler?
An interrupt will not interrupt an interrupt handler. Interrupt B handler will start when you return from interrupt handler A