Index: .../zope.formlib/src/zope/formlib/form.py =================================================================== --- .../zope.formlib/src/zope/formlib/form.py (revision 82675) +++ .../zope.formlib/src/zope/formlib/form.py (working copy) @@ -326,7 +326,12 @@ if form_field.custom_widget is None: return component.getMultiAdapter((field, request), iface) else: - return form_field.custom_widget(field, request) + value_type = getattr(field, 'value_type', None) + if value_type: + widget = form_field.custom_widget(field, value_type.vocabulary, request) + else: + widget = form_field.custom_widget(field, request) + return widget def getWidgetsData(widgets, form_prefix, data):