diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_getKnowledgePadListForUser.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_getKnowledgePadListForUser.xml
index 182c2004ee6ad99c7ced6950fec5abe1a332b6cf..16c574b0a17909db9adaea8b02fac2baabf76864 100644
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_getKnowledgePadListForUser.xml
+++ b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_knowledge_pad/ERP5Site_getKnowledgePadListForUser.xml
@@ -56,23 +56,31 @@ isAnonymousKnowledgePadUsed = request.get(\'is_anonymous_knowledge_pad_used\', 0
 \n
 def filterKnowledgePadListForContext(results, mode, \n
                                      default_pad_group):\n
+  filtered_results = []\n
+  append = filtered_results.append\n
   # in Web Mode we can have a temporary object created based on current language, document by reference\n
   real_context = context.Base_getRealContext()\n
   real_context_url = real_context.getRelativeUrl()\n
   if mode == \'erp5_front\':\n
     # leave only those not having a publication_section as \n
     # this means belonging to root\n
-    results = filter(lambda x: x.getPublicationSection() is None and \\\n
-                              x.getGroup() is None, results)\n
+    for x in results:\n
+      x = x.getObject()\n
+      if x.getPublicationSection() is None and x.getGroup() is None:\n
+        append(x)\n
   elif mode == \'web_front\':\n
     # Web Site must at least one Pad referenced by context\n
-    results = filter(lambda x: real_context_url in x.getPublicationSectionList() and \\\n
-                              x.getGroup() is None, results)\n
+    for x in results:\n
+      x = x.getObject()\n
+      if real_context_url in x.getPublicationSectionList() and x.getGroup() is None:\n
+        append(x)\n
   elif mode == \'web_section\':\n
     # Web Sections, Web Pages can "reuse" tabs\n
-    results = filter(lambda x: real_context_url in x.getPublicationSectionList() or \\\n
-                                x.getGroup() == default_pad_group, results)\n
-  return results\n
+    for x in results:\n
+      x = x.getObject()\n
+      if real_context_url in x.getPublicationSectionList() and x.getGroup() == default_pad_group:\n
+        append(x)\n
+  return filtered_results\n
 \n
 \n
 kw = {\'portal_type\': \'Knowledge Pad\',\n
@@ -99,9 +107,11 @@ active_pad, results = \\\n
 if active_pad is not None and active_pad.getValidationState() != \'deleted\':\n
   found = False\n
   new_results = []\n
+  active_pad_path = active_pad.getPath()\n
   for brain in results:\n
     new_results.append(brain)\n
-    if brain.getObject() == active_pad: found = True\n
+    if brain.getPath() == active_pad_path:\n
+      found = True\n
   results = new_results\n
   if not found:\n
     # append it only if not from Catalog results\n
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index 475fbacb43f1e37932f5cd9aa9ba871e283891c2..5d5ad96f9fa59e86a02bf299511221da15f5511a 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-763
\ No newline at end of file
+764
\ No newline at end of file