diff --git a/modules/navigation/nav_map.cpp b/modules/navigation/nav_map.cpp index 1bd703238c94..739b031d061d 100644 --- a/modules/navigation/nav_map.cpp +++ b/modules/navigation/nav_map.cpp @@ -948,14 +948,18 @@ void NavMap::_sync_dirty_map_update_requests() { void NavMap::_sync_dirty_avoidance_update_requests() { // Sync NavAgents. - agents_dirty = sync_dirty_requests.agents.first(); + if (!agents_dirty) { + agents_dirty = sync_dirty_requests.agents.first(); + } for (SelfList<NavAgent> *element = sync_dirty_requests.agents.first(); element; element = element->next()) { element->self()->sync(); } sync_dirty_requests.agents.clear(); // Sync NavObstacles. - obstacles_dirty = sync_dirty_requests.obstacles.first(); + if (!obstacles_dirty) { + obstacles_dirty = sync_dirty_requests.obstacles.first(); + } for (SelfList<NavObstacle> *element = sync_dirty_requests.obstacles.first(); element; element = element->next()) { element->self()->sync(); }