I have three view controllers. One loads another via pushViewController when a condition is met. The latter controller loads the last controller via pushViewController when a condition is met. Both the last view controller and the first have a variable named thecount. Because of this, I am getting a Mach-O Linker Error. Here's an excerpt from my error log: Code: duplicate symbol _thecount in: ... ld: 1 duplicate symbol for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) This is leading me to suspect that the view controllers that are displayed prior to the last are retained, which is something I don't want happening. As I write this, I'm starting to think about using segues instead. The reason I didn't do that is because I don't want animated transitions. I know I can use custom segues, which is exactly what I will do. EDIT: That did not make a difference.