Remove the current ViewController from the stack and push the next

UINavigationController *navController = self.navigationController;
pdViewController = [[ProductDetailViewController alloc] initWithNibName:@"ProductDetailView" bundle:nil];

NSMutableArray *controllers = [[self.navigationController.viewControllers mutableCopy] autorelease];
[controllers removeLastObject];
navController.viewControllers = controllers;
[navController pushViewController:pdViewController animated: YES];