Instead of:
[self.navigationItem setLeftBarButtonItem:self.navigationItem.backBarButtonItem];
Try using:
[self.navigationItem setBackBarButtonItem:self.navigationItem.backBarButtonItem];
(I'm not sure if this is going to work exactly like this. It's possible that you'll have to store the back button in a variable prior to showing the activity indicator and than set the back button to that variable afterwards.)