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 9a62996835cf82096dea824102b59afab037ec62..4a059ca718370bcc54b33f8c295443392e43ef5d 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,7 +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
+  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