diff --git a/apps/app_queue.c b/apps/app_queue.c index ec53d66415..1e5fd8306b 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3405,11 +3405,15 @@ static void 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;