diff --git a/src/modules/ekf2/EKF/gps_control.cpp b/src/modules/ekf2/EKF/gps_control.cpp index 83670b5655..d86020815a 100644 --- a/src/modules/ekf2/EKF/gps_control.cpp +++ b/src/modules/ekf2/EKF/gps_control.cpp @@ -80,8 +80,11 @@ void Ekf::controlGpsFusion(const imuSample &imu_delayed) } } + if (_pos_ref.isInitialized()) { + updateGnssPos(gnss_sample, _aid_src_gnss_pos); + } + updateGnssVel(gnss_sample, _aid_src_gnss_vel); - updateGnssPos(gnss_sample, _aid_src_gnss_pos); } else if (_control_status.flags.gps) { if (!isNewestSampleRecent(_time_last_gps_buffer_push, _params.reset_timeout_max)) {