diff --git a/src/common/kernel/eressea.c b/src/common/kernel/eressea.c index 37d5ff80b..fc8460b55 100644 --- a/src/common/kernel/eressea.c +++ b/src/common/kernel/eressea.c @@ -2551,7 +2551,7 @@ remove_empty_units_in_region(region *r) } } if ((u->number == 0 && u->race != new_race[RC_SPELL]) || (u->age <= 0 && u->race == new_race[RC_SPELL])) { - destroy_unit(u); + if (F!=NULL) destroy_unit(u); if (u->number==0) remove_unit(u); } if (*up==u) up=&u->next; diff --git a/src/common/kernel/unit.c b/src/common/kernel/unit.c index ae70f1210..9e4235d8a 100644 --- a/src/common/kernel/unit.c +++ b/src/common/kernel/unit.c @@ -229,7 +229,7 @@ destroy_unit(unit * u) } if (*p_item == item) p_item=&item->next; } - if (u->items && strlen(u->faction->passw)>0) { + if (u->items && (u->faction==NULL || strlen(u->faction->passw)>0)) { distribute_items(u); } }