This paper isolates and identifies the effects of the crossover operator used in Grammatical Evolution. This crossover operator
has already been shown to be adept at combining useful building blocks and to outperform engineered crossover operators such
as Homologous Crossover. This crossover operator, Ripple Crossover is described in terms of Genetic Programming and applied
to two benchmark problems. Its performance is compared with that of traditional sub-tree crossover on populations employing
the standard functions and terminal set, but also against populations of individuals that encode Context Free Grammars. Ripple
crossover is more effective in exploring the search space of possible programs than sub-tree crossover. This is shown by examining
the rate of premature convergence during the run. Ripple crossover produces populations whose fitness increases gradually
over time, slower than, but to an eventual higher level than that of sub-tree crossover.