A method of determining a position of a GNSS receiver comprising: receiving, at the GNSS receiver, satellite signals from at least two GNSS satellites; receiving, at a processor in communication with the GNSS receiver, an estimated location area from a non-GNSS positioning application; utilizing the estimated location area to define a correlation search space; performing, by the GNSS receiver, correlations of the satellite signals from the at least two GNSS satellites with locally generated replicas; identifying, by the processor, candidate correlation peaks; and, in response to identifying by the processor a single candidate correlation peak corresponding to a first one of the at least two GNSS satellites and multiple candidate correlation peaks corresponding to a second one of the at least two GNSS satellites, wherein the multiple candidate correlation peaks are identified due to signal attenuation or multipath: acquiring the first one of the at least two GNSS satellites, and determining a first pseudorange corresponding to the first one of the at least two GNSS satellites; determining, by the processor, multiple candidate pseudoranges corresponding to the multiple candidate correlation peaks of the second one of the at least two GNSS satellites; determining, by the processor, possible GNSS receiver positions utilizing the first pseudorange and the multiple candidate pseudoranges, the estimated location area from the non-GNSS positioning application and a receiver clock bias estimated from a previous position fix of the GNSS receiver; utilizing blunder detection, by the processor, to identify candidate pseudoranges causing statistical blunders from the multiple candidate pseudoranges corresponding to the second one of the at least two GNSS satellites, and removing the candidate pseudoranges causing statistical blunders, leaving a best pseudorange; utilizing the first pseudorange, the best pseudorange and the estimated location area to determine, by the processor, the position of the GNSS receiver. receiving, at the GNSS receiver, satellite signals from at least two GNSS satellites; receiving, at a processor in communication with the GNSS receiver, an estimated location area from a non-GNSS positioning application; utilizing the estimated location area to define a correlation search space; performing, by the GNSS receiver, correlations of the satellite signals from the at least two GNSS satellites with locally generated replicas; identifying, by the processor, candidate correlation peaks; and, in response to identifying by the processor a single candidate correlation peak corresponding to a first one of the at least two GNSS satellites and multiple candidate correlation peaks corresponding to a second one of the at least two GNSS satellites, wherein the multiple candidate correlation peaks are identified due to signal attenuation or multipath: acquiring the first one of the at least two GNSS satellites, and determining a first pseudorange corresponding to the first one of the at least two GNSS satellites; determining, by the processor, multiple candidate pseudoranges corresponding to the multiple candidate correlation peaks of the second one of the at least two GNSS satellites; determining, by the processor, possible GNSS receiver positions utilizing the first pseudorange and the multiple candidate pseudoranges, the estimated location area from the non-GNSS positioning application and a receiver clock bias estimated from a previous position fix of the GNSS receiver; utilizing blunder detection, by the processor, to identify candidate pseudoranges causing statistical blunders from the multiple candidate pseudoranges corresponding to the second one of the at least two GNSS satellites, and removing the candidate pseudoranges causing statistical blunders, leaving a best pseudorange; utilizing the first pseudorange, the best pseudorange and the estimated location area to determine, by the processor, the position of the GNSS receiver. acquiring the first one of the at least two GNSS satellites, and determining a first pseudorange corresponding to the first one of the at least two GNSS satellites; determining, by the processor, multiple candidate pseudoranges corresponding to the multiple candidate correlation peaks of the second one of the at least two GNSS satellites; determining, by the processor, possible GNSS receiver positions utilizing the first pseudorange and the multiple candidate pseudoranges, the estimated location area from the non-GNSS positioning application and a receiver clock bias estimated from a previous position fix of the GNSS receiver; utilizing blunder detection, by the processor, to identify candidate pseudoranges causing statistical blunders from the multiple candidate pseudoranges corresponding to the second one of the at least two GNSS satellites, and removing the candidate pseudoranges causing statistical blunders, leaving a best pseudorange; utilizing the first pseudorange, the best pseudorange and the estimated location area to determine, by the processor, the position of the GNSS receiver.