HI all.. In my iPhone App, i am having a TabBarController with some UIViewControllers pushed one over other.. If i push some UIViewControllers, and tap the same tabBar, definitely i will come to the RootViewController. However this is happening in my case as well.. But in simulator everything working fine and in device when i tap the tabBar (if i am in a topViewController after so many pushing) it is coming to the RootViewController only..but it is calling the loadView of RootViewController again... Say... I pushed VC1 -> VC2 -> VC3 -> VC4 . If i am in VC4 and tap its tabBar i am coming to the VC1 (which is OK) but its calling the loadView: of VC1. (But its maintaining its instance data as same when i created that viewController) Why so???