diff --git a/product/ERP5Form/PreferenceTool.py b/product/ERP5Form/PreferenceTool.py
index 2afda69c6f1bd9ad160599a4f442e46d6b470493..8fae31ee0dad8c0799e5efac53a91dadd170b934 100644
--- a/product/ERP5Form/PreferenceTool.py
+++ b/product/ERP5Form/PreferenceTool.py
@@ -252,10 +252,10 @@ class PreferenceTool(BaseTool):
                    if x.getObject().getProperty('preference_state', 'broken') in ('enabled', 'global')]
       sys_prefs.sort(key=lambda x: x.getPriority(), reverse=True)
       preference_list = sys_prefs + prefs
-      tv[tv_key] = [x.getRelativeUrl() for x in preference_list]
+      tv[tv_key] = preference_list
     else:
       portal = self.getPortalObject()
-      preference_list = [portal.restrictedTraverse(x) for x in tv[tv_key]]
+      preference_list = tv[tv_key]
     return preference_list
 
   def _getActivePreferenceByPortalType(self, portal_type):