Index: layer_grp.c =================================================================== --- layer_grp.c (revision 19422) +++ layer_grp.c (revision 19423) @@ -679,7 +679,7 @@ const pcb_layergrp_t *g; for (group = 0, g = pcb->LayerGroups.grp; group < pcb->LayerGroups.len; group++,g++) { if ((pcb_layergrp_flags(pcb, group) & mask) == mask) { - if (((purpose == NULL) || (strcmp(purpose, g->purpose) == 0)) && ((purpi == -1) || (purpi == g->purpi))) { + if (((purpose == NULL) || ((g->purpose != NULL) && (strcmp(purpose, g->purpose) == 0))) && ((purpi == -1) || (purpi == g->purpi))) { APPEND(group); } }