diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py
index 56162cb21395e4957aa20f1f2473c5ce763e9cf4..dacc7caf02d6fd05b6c4b82434be2a442fdbfdfd 100644
--- a/addons/website_sale/models/sale_order.py
+++ b/addons/website_sale/models/sale_order.py
@@ -111,7 +111,7 @@ class sale_order(osv.Model):
 
     def _cart_accessories(self, cr, uid, ids, context=None):
         for order in self.browse(cr, uid, ids, context=context):
-            s = set(j.id for l in (order.website_order_line or []) for j in (l.product_id.accessory_product_ids or []))
+            s = set(j.product_tmpl_id.id for l in (order.website_order_line or []) for j in (l.product_id.accessory_product_ids or []))
             s -= set(l.product_id.id for l in order.order_line)
             product_ids = random.sample(s, min(len(s),3))
             return self.pool['product.template'].browse(cr, uid, product_ids, context=context)
diff --git a/addons/website_sale/views/views.xml b/addons/website_sale/views/views.xml
index 5a1a93105b5abde83c68fc9257d203234f4ecaa9..86e369f11e70ebe756375db645bc54aceaeb68f8 100644
--- a/addons/website_sale/views/views.xml
+++ b/addons/website_sale/views/views.xml
@@ -25,6 +25,7 @@
                     <field name="public_categ_ids" widget="many2many_tags"/>
                     <field name="website_published" class="pull-right" widget="website_button"/>
                     <field name="alternative_product_ids" widget="many2many_tags"/>
+                    <field name="accessory_product_ids" widget="many2many_tags"/>
                     <field name="website_style_ids" widget="many2many_tags"/>
                     <field name="website_sequence"/>
                 </group>