maybe future version of context will provide more control; for the moment, stick to: \definehead [Topic] [chapter] \definehead [Subject] [section] \newcounter\MyTopicCounter \startsetups MyTopicList \blank \doglobal\increment\MyTopicCounter \doglobal\newcounter\MySubjectCounter \placelist[Topic][criterium=text,after=\setups{MySubjectList}] \stopsetups \startsetups MySubjectList \doglobal\increment\MySubjectCounter \doifelse{\MyTopicCounter}{\MySubjectCounter} { \placelist[Subject] } { % whatever } \stopsetups \starttext \Topic{first} \Subject{one} test \Subject{two} test \setups[MyTopicList] \page \Topic{second} \Subject{alpha} test \Subject{beta} test \setups[MyTopicList] \page \stoptext