diff --git a/product/ERP5Form/FormulatorPatch.py b/product/ERP5Form/FormulatorPatch.py
index b2bcf6f6cb9e9036c3337f9a645d9ebc5cb7fa01..1a092094a6b5c417d525fdd00baea6ead441812f 100644
--- a/product/ERP5Form/FormulatorPatch.py
+++ b/product/ERP5Form/FormulatorPatch.py
@@ -564,6 +564,35 @@ def MultiItemsWidget_render_items(self, field, key, value, REQUEST):
 
 MultiItemsWidget.render_items = MultiItemsWidget_render_items
 
+from Products.Formulator.Widget import MultiListWidget
+
+def MultiListWidget_render(self, field, key, value, REQUEST):
+  rendered_items = self.render_items(field, key, value, REQUEST)
+  return render_element(
+          'select',
+          name=key,
+          multiple=None,
+          css_class=field.get_value('css_class', REQUEST=REQUEST),
+          size=field.get_value('size', REQUEST=REQUEST),
+          contents=string.join(rendered_items, "\n"),
+          extra=field.get_value('extra', REQUEST=REQUEST))
+
+MultiListWidget.render = MultiListWidget_render
+
+from Products.Formulator.Widget import ListWidget
+
+def ListWidget_render(self, field, key, value, REQUEST):
+  rendered_items = self.render_items(field, key, value, REQUEST)
+  return render_element(
+          'select',
+          name=key,
+          css_class=field.get_value('css_class', REQUEST=REQUEST),
+          size=field.get_value('size', REQUEST=REQUEST),
+          contents=string.join(rendered_items, "\n"),
+          extra=field.get_value('extra', REQUEST=REQUEST))
+
+ListWidget.render = ListWidget_render
+
 # JPS - Subfield handling with listbox requires extension
 from Products.Formulator.StandardFields import DateTimeField
 
diff --git a/product/ERP5Form/ParallelListField.py b/product/ERP5Form/ParallelListField.py
index 765c5d84840f77dd801ab666f8c81c6929d6a581..06af7246e90d9da0f1902e075ede560fa99c775b 100644
--- a/product/ERP5Form/ParallelListField.py
+++ b/product/ERP5Form/ParallelListField.py
@@ -36,7 +36,8 @@ from zLOG import LOG
 from AccessControl import ClassSecurityInfo
 from Products.Formulator.Errors import ValidationError
 
-class ParallelListWidget(Widget.MultiListWidget):
+class ParallelListWidget(Widget.MultiListWidget,
+                         Widget.ListWidget):
     """
       Make the MultilistField more usable for the user.
 
@@ -63,6 +64,7 @@ class ParallelListWidget(Widget.MultiListWidget):
     """
 
     property_names = Widget.MultiListWidget.property_names + \
+                     Widget.ListWidget.property_names + \
       ['hash_script_id']
 
     hash_script_id = fields.StringField('hash_script_id',
@@ -71,6 +73,17 @@ class ParallelListWidget(Widget.MultiListWidget):
         "The method to call to hash items list."),
                                required=0)
 
+    # delete double in order to keep a usable ZMI...
+    # XXX need to keep order !
+    #property_names = dict([(i,0) for i in property_names]).keys()
+    _v_dict = {}
+    _v_property_name_list = []
+    for property_name in property_names:
+      if not _v_dict.has_key(property_name):
+        _v_property_name_list.append(property_name)
+        _v_dict[property_name] = 1
+    property_names = _v_property_name_list
+
     def __init__(self):
       """
       Generate some subwidget used for rendering.