This research examines the behavior of inoperative code (introns) in the evolution of genetically robust solutions. Genetically robust solutions are solutions that are less likely to be degraded by genetic operators, such as crossover. Previous work has shown that there is significant evolutionary pressure in favor of genetically robust solutions and that evolving programs adopt a number of strategies to increase genetic robustness, notably an increase in inoperative `genes' (individual genetic units that don't influence fitness) and a preference for `genes' with a relatively small effect on fitness. Here we examine the role of genes that cancel each other out. We find that allowing such `canceling genes' leads to an overall increase in the rate of code growth, both through the inclusion of self-canceling code and through a general increase in introns. Finally, we find that the evolution generally follows a two-step process. Initially the operative code evolves rap...