diff --git a/src/common/kernel/spell.c b/src/common/kernel/spell.c index 891711a03..58b49f444 100644 --- a/src/common/kernel/spell.c +++ b/src/common/kernel/spell.c @@ -411,10 +411,10 @@ destroy_curse(attrib **alist, int cast_level, double force, curse * c) force = remain; } if (c1->vigour <= 0) { - a_remove(ap, a); + a_remove(alist, a); } } - if (*ap) ap = &(*ap)->next; + if (*ap==a) ap = &a->next; } return succ; }