diff --git a/core/save-git.c b/core/save-git.c index 5ff67ddea..6496d28ad 100644 --- a/core/save-git.c +++ b/core/save-git.c @@ -904,7 +904,7 @@ static void save_divesites(git_repository *repo, struct dir *tree) for (int i = 0; i < dive_site_table.nr; i++) { struct membuffer b = { 0 }; struct dive_site *ds = get_dive_site(i); - if (dive_site_is_empty(ds)) { + if (dive_site_is_empty(ds) || !is_dive_site_used(ds->uuid, false)) { int j; struct dive *d; for_each_dive(j, d) { diff --git a/core/save-xml.c b/core/save-xml.c index d3b9e6c8d..5bc4f5b38 100644 --- a/core/save-xml.c +++ b/core/save-xml.c @@ -571,7 +571,7 @@ void save_dives_buffer(struct membuffer *b, const bool select_only) int j; struct dive *d; struct dive_site *ds = get_dive_site(i); - if (dive_site_is_empty(ds)) { + if (dive_site_is_empty(ds) || !is_dive_site_used(ds->uuid, false)) { for_each_dive(j, d) { if (d->dive_site_uuid == ds->uuid) d->dive_site_uuid = 0;