It turns out the problem is general to all composite widgets. Luckily, it seems that it only surfaces in corner cases, and mostly as a fontification problem. Stefan detected the problem: widgets whose children get recreated (but they themselves don't) might end up with their markers not containing the entire child anymore. But since it might happen with any composite widget, we can't just fix this for radio or checklist widgets. I attach a patch with a first idea (based on Stefan's suggestions), where we "protect" the parent's markers, inside widget-default-create. This is so we can try to catch almost all situations where this bug might arise. It doesn't catch _all_, in theory, since it might happen that a grandparent widget doesn't adjust its markers, but maybe that's unusual enough that we can get away with it. The patch includes a test, that hopefully shows how easy is to make this bug appear.