diff --git a/apps/app_queue.c b/apps/app_queue.c index e3b6ea6053..0895476a72 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3807,11 +3807,15 @@ static int reload_queues(void) } /* Free remaining members marked as delme */ - for (prev = NULL, cur = q->members, next = cur ? cur->next : NULL; + for (prev = NULL, cur = q->members; cur; - cur = next, next = cur ? cur->next : NULL) { - if (!cur->delme) + cur = next) { + next = cur->next; + + if (!cur->delme) { + prev = cur; continue; + } if (prev) prev->next = next;