diff --git a/core/src/main/resources/lib/form/repeatableHeteroProperty.jelly b/core/src/main/resources/lib/form/repeatableHeteroProperty.jelly
index b1ab6b7..f753691 100644
--- a/core/src/main/resources/lib/form/repeatableHeteroProperty.jelly
+++ b/core/src/main/resources/lib/form/repeatableHeteroProperty.jelly
@@ -66,7 +66,7 @@ THE SOFTWARE.
first try getFooBarDescriptors() then fall back to automatic inference by type
-->
<f:hetero-list name="${attrs.field}" items="${instance[attrs.field]}"
- descriptors="${descriptor[attrs.field+'Descriptors'] ?: descriptor.getPropertyType(instance,attrs.field).getApplicableItemDescriptors()}"
+ descriptors="${descriptor[attrs.field+'Descriptors'] ?: f.filterDescriptors(it, descriptor.getPropertyType(instance,attrs.field).getApplicableItemDescriptors())}"
addCaption="${attrs.addCaption}" deleteCaption="${attrs.deleteCaption}"
hasHeader="${attrs.hasHeader}" honorOrder="${attrs.honorOrder}"
menuAlign="${attrs.menuAlign}" oneEach="${attrs.oneEach}"
So far unsuccessful in writing a test for this behavior; hetero-list.js manages to hide everything of interest behind layers of JavaScript.