diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getModuleItemList.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getModuleItemList.xml
index 8cac0e4c536942a024bdac039f3b29a34e776f1e..0cf943cb257b215dfa35f72c63696282af0ebb8b 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getModuleItemList.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_getModuleItemList.xml
@@ -71,7 +71,7 @@
             <value> <string>from Products.ERP5Type.Cache import CachingMethod, clearCache\n
 from ZODB.POSException import ConflictError\n
 \n
-user = context.portal_membership.getAuthenticatedMember().getUserName()\n
+user = context.portal_membership.getAuthenticatedMember()\n
 \n
 portal = context.getPortalObject()\n
 \n
@@ -82,10 +82,11 @@ def getModuleItemList(user=None, portal_path=None):\n
     for module_id in portal.objectIds(\'ERP5 Folder\'):\n
       try:\n
         module = portal[module_id]\n
-        url = module.getPath()\n
-        label = module.getTitleOrId()\n
-        label = gettext(label)\n
-        item_list.append((label, url))\n
+        if user.has_permission(\'View\', module):\n
+          url = module.getPath()\n
+          label = module.getTitleOrId()\n
+          label = gettext(label)\n
+          item_list.append((label, url))\n
       except ConflictError : raise\n
       except: pass\n
   except ConflictError : raise\n
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 780fea92d290e030d3636fa09844dfb11e96ef2a..e3f1e9b791c84fce95fe992dc246e9e2286c84ed 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-77
\ No newline at end of file
+80
\ No newline at end of file