diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index 1e2af6bd5a52e50b1fa7caa5e53b9d13ac877317..c81b8e80e3b1508f605a03d1f6ee2f4d26817d14 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -1352,16 +1352,14 @@ class pos_category(osv.osv):
     ]
 
     def name_get(self, cr, uid, ids, context=None):
-        if not len(ids):
-            return []
-        reads = self.browse(cr, uid, ids, context=context)
         res = []
-        for record in reads:
-            if record.parent_id:
-                name = '%s / %s' % (record.parent_id.name, record.name)
-            else:
-                name = record.name
-            res.append((record.id, name))
+        for cat in self.browse(cr, uid, ids, context=context):
+            names = [cat.name]
+            pcat = cat.parent_id
+            while pcat:
+                names.append(pcat.name)
+                pcat = pcat.parent_id
+            res.append((cat.id, ' / '.join(reversed(names))))
         return res
 
     def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):