diff --git a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_callDialogMethod.py b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_callDialogMethod.py
index ca062b60e4b59dfaa3779c80991c74624f5fca63..def24ea77025b3e62fc587123fc00dec960f51c6 100644
--- a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_callDialogMethod.py
+++ b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_callDialogMethod.py
@@ -222,9 +222,9 @@ if len(extra_param.get("uids", ())) >= 1000 or extra_param.get("query", MARKER)
       keep_items=extra_param,
       form_data=form_data)
   elif len(extra_param.get("uids", ())) >= 1000:
-    # no force-submit and no update so we cut the UIDS
-    kw['uids'] = extra_param['uids'][:1000]
-    del extra_param['uids']  # remove UIDS from the extra_param to force re-computation
+    # remove UIDS from the extra_param to force re-computation because the
+    # query will be the same but UIDS should change
+    del extra_param['uids']
 
 # if dialog_category is object_search, then edit the selection
 if dialog_category == "object_search" :
diff --git a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
index c7cf332d38a8c7054e6da5dd7deca320716d39cb..eb98a6a5f4b812e677757839cce90595716e0695 100644
--- a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
+++ b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
@@ -1108,7 +1108,7 @@ def renderForm(traversed_document, form, response_dict, key_prefix=None, selecti
       method_args = selectKwargsForCallable(getattr(traversed_document, form.action), {}, {'uids': None})
       if "uids" in method_args:
         extra_param_json["uids"] = [int(getattr(document, "uid"))
-                                    for document in traversed_document.Base_searchUsingListbox(last_listbox, query or extra_param_json.get("query", None))]
+                                    for document in traversed_document.Base_searchUsingListbox(last_listbox, query or extra_param_json.get("query", None), limit=1000)]
       if query is not None:
         extra_param_json["query"] = query
   else: