In this paper we propose a new method for implementing the cross-over operator in Genetic Programming (GP) called Semantic Similarity based Crossover (SSC). This new operator is inspired by Semantic Aware Crossover (SAC) [20]. SSC extends SAC by adding semantics to control the change of the semantics of the individuals during the evolutionary process. The new crossover operator is then tested on a family of symbolic regression problems and compared with SAC as well as Standard Crossover (SC). The results from the experiments show that the change of the semantics (fitness) in the new SSC is smoother compared to SAC and SC. This leads to performance improvement in terms of percentage of successful runs and mean best fitness.