stay in bootloader after software jump

Hey, i run my application and dfu bootloader on arduino leonardo. i want to software jump to the bootloader in the application and stay there to reprogram it. But after using

asm volatile("jmp 0x7000")

i always end up in the application again. This is NOT the case if i press the reset button on my leonardo, it stays in bootloader. So i assume there is some bit that is set by hardware reset to make program stay in bootloader. may someone tell me this so i can activate it before my software jump also?