the saved instance state mechanism can be triggered not only when the screen is rotated, but also when the system decides to kill the process to give the freed ram to the other process. for example it usually happens when the camera app is opened which requires a lot of memory. in this case when user goes back to your app the state would be restored. also note that SaveableStateHolder saves not the navigation state, but the inner states of the screens in the back stack.