epggrab_channel_rem(ch);
   epg_channel_unlink(ch);
   if (ch->ch_epg_parent) {
-    LIST_REMOVE(ch, ch_epg_slave_link);
+    LIST_SAFE_REMOVE(ch, ch_epg_slave_link);
     free(ch->ch_epg_parent);
     ch->ch_epg_parent = NULL;
   }
   for (ch1 = LIST_FIRST(&ch->ch_epg_slaves); ch1; ch1 = ch2) {
     ch2 = LIST_NEXT(ch1, ch_epg_slave_link);
-    LIST_REMOVE(ch1, ch_epg_slave_link);
+    LIST_SAFE_REMOVE(ch1, ch_epg_slave_link);
     if (delconf) {
       free(ch1->ch_epg_parent);
       ch1->ch_epg_parent = NULL;