diff --git a/track.c b/track.c index 3237ad47..a3d2c1e2 100644 --- a/track.c +++ b/track.c @@ -2495,8 +2495,8 @@ struct aircraft *trackUpdateFromMessage(struct modesMessage *mm) { } if (old_jaero) { // avoid using already received positions for JAERO input - } else if (mm->receiver_distance > Modes.maxRange) { - // ignore positions out of receiver range + } else if (mm->receiver_distance > Modes.maxRange && mm->source != SOURCE_JAERO) { + // ignore positions out of receiver range unless it's jaero } else if (mm->source == SOURCE_MLAT && mm->mlatEPU > 2 * a->mlatEPU && imin((int)(3000.0f * logf((float)mm->mlatEPU / (float)a->mlatEPU)), TRACE_STALE * 3 / 4) > (int64_t) trackDataAge(mm->sysTimestamp, &a->pos_reliable_valid) ) {