Here's something I've been wondering for a while: Take a look at one of Apple's apps (like Mail) that restores state across a Navigation Controller. If you start your app on a leaf controller and you pop back to a table view, the "selected" table cell de-selects, as if it was selected to push you to the leaf in the first place. I can't figure out the best way to do this. Right now, I have a working app that saves state. I thought about, while restoring the state, actually calling the appropriate tableView:didSelectRowAtIndexPath: method, but this would then load the appropriate table view, which seems like a waste if I'm just skipping over that view in the first place. This is why my current code to restore does a programmatic push without touching the table view. This doesn't give me the highlighted cell when I pop back, though. Any ideas?