diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml
index 87a14c901418719209a3e242c39b2122555c7699..9a62996835cf82096dea824102b59afab037ec62 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml
@@ -108,6 +108,7 @@ search_words = search_argument_list.get(\'SearchableText\')\n
 if search_words is None or search_words == \'\':\n
   # if the searched text is empty (e.g. because we used only parameters without pure searchable text)\n
   # we return something\n
+  if not hasattr(txt, \'len\'): txt = str(txt)\n
   return txt[min(len(txt) - 300, 200) : 500] # a somewhat arbitrary choice to trim searchable attrs\n
 \n
 res = context.cutFound(context, txt, search_words, tags, trail, maxlines)\n
@@ -184,11 +185,11 @@ return \' \'.join(map(str, res))\n
                             <string>search_argument_list</string>
                             <string>search_words</string>
                             <string>None</string>
+                            <string>str</string>
                             <string>min</string>
                             <string>len</string>
                             <string>res</string>
                             <string>map</string>
-                            <string>str</string>
                           </tuple>
                         </value>
                     </item>