The acquisition of global navigation satellite system signals can be performed using a fast Fourier transform (FFT). The FFT-based acquisition performs a circular correlation, and is thus sensitive to potential transitions between consecutive periods of the code. Such transitions are not occurring often for the GPS L1 C/A signal because of the low data rate, but very likely for the new GNSS signals having a secondary code. The straightforward solution consists in using two periods of the incoming primary code and using zeropadding for the local code to perform the correlation. However, this solution increases the complexity, and is moreover not efficient since half of the points calculated are discarded. This has led us to research for a more efficient algorithm, which discards less points by calculating several sub-correlations.It is applied to the GPS L5, Galileo E5a, E5b and E1 signals. Considering the radix-2 FFT, the proposed algorithm is more efficient for the L5, E5a and E5b signals, and possibly for the E1 signal. The theoretical number of operations can be reduced by 21 %, the processing time measured on a * Corresponding author Email address: jerome.leclere@epfl.ch (Jérôme Leclère)Preprint submitted to Signal Processing July 2, 2013 software implementation is reduced by 39 %, and the memory resources are almost halved for an FPGA implementation.