diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml
index 17e8867abe0e35815656fda4e5999c6bf7b8cea7..0e01c7fcb82098cd93d30ab5860a1f1ad4e560a7 100644
--- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml
+++ b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml
@@ -53,11 +53,21 @@
             <value> <string>from Products.ERP5Type.Message import translateString\n
 \n
 request= context.REQUEST\n
+\n
 if not listbox:\n
   listbox = request.get(\'listbox\', [])\n
+  if isinstance(listbox, dict):\n
+    # structure of listbox value is different than the one fetch from parameters\n
+    repaired_listbox = []\n
+    for key in listbox:\n
+      item = listbox[key]\n
+      item[\'listbox_key\'] = key\n
+      repaired_listbox.append(item)\n
+    listbox = repaired_listbox\n
+  \n
 line_list = context.Delivery_getSolverDecisionList(listbox=listbox)\n
-for listbox_key in listbox:\n
-  listbox_dict = listbox[listbox_key]\n
+for listbox_dict in listbox:\n
+  listbox_key = listbox_dict[\'listbox_key\']\n
   line = [x for x in line_list if x.getPath() == listbox_key][0]\n
   uid = line.getUid()\n
   for property in (\'solver\', \'solver_configuration\', \'delivery_solver\', \'comment\',):\n
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index 2d73b5e3ba15b14f50c38dad75d5f05a9aa21301..f79f5e337ea18102bf116113d489fb73bd210e37 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-152
\ No newline at end of file
+153
\ No newline at end of file