Hi Hans, shouldn’t the inner test be “\ifx\hasstructurecounternumber\v!yes”? \def\dostructurecountercomponent#1#2#3#4#5#6#7[#8][#9]% {\begingroup … \ifx\hasstructurecountercaption\v!yes … \ifx\hasstructurecountercaption\v!yes prefixdata = { prefix = "#3\c!prefix", separatorset = "#3\c!prefixseparatorset", conversion = \!!bs#3\c!prefixconversion\!!es, conversionset = "#3\c!prefixconversionset", set = "#3\c!prefixset", % segments = "#3\c!prefixsegments", segments = "\askedprefixsegments", connector = \!!bs#3\c!prefixconnector\!!es, }, numberdata = { numbers = structures.counters.compact("\currentcounter",nil,true), separatorset = "#3\c!numberseparatorset", conversion = \!!bs#3\c!numberconversion\!!es, conversionset = "#3\c!numberconversionset", starter = \!!bs#3\c!numberstarter\!!es, stopper = \!!bs#3\c!numberstopper\!!es, segments = "#3\c!numbersegments", }, \fi … \fi \endgroup} Wolfgang