diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py
index c39f1c4e7218f99f52cd4d3451b528111bd12a36..06fe18995950bc3f2fd81ba1a38703ccd07e4e70 100644
--- a/addons/delivery/models/stock_picking.py
+++ b/addons/delivery/models/stock_picking.py
@@ -31,7 +31,7 @@ class StockPackOperation(models.Model):
     @api.multi
     def manage_package_type(self):
         self.ensure_one()
-        view_id = self.env.ref('delivery.choose_delivery_package_view_form').id;
+        view_id = self.env.ref('delivery.choose_delivery_package_view_form').id
         return {
             'name': _('Package Details'),
             'type': 'ir.actions.act_window',
@@ -123,19 +123,22 @@ class StockPicking(models.Model):
 
     @api.multi
     def put_in_pack(self):
-        view_id = self.env.ref('delivery.choose_delivery_package_view_form').id;
-        return {
-            'name': _('Package Details'),
-            'type': 'ir.actions.act_window',
-            'view_mode': 'form',
-            'res_model': 'choose.delivery.package',
-            'view_id': view_id,
-            'views': [(view_id, 'form')],
-            'target': 'new',
-            'context': {
-                'current_package_carrier_type': self.carrier_id.delivery_type if self.carrier_id.delivery_type not in ['base_on_rule', 'fixed'] else 'none',
+        if self.carrier_id and self.carrier_id.delivery_type not in ['base_on_rule', 'fixed']:
+            view_id = self.env.ref('delivery.choose_delivery_package_view_form').id
+            return {
+                'name': _('Package Details'),
+                'type': 'ir.actions.act_window',
+                'view_mode': 'form',
+                'res_model': 'choose.delivery.package',
+                'view_id': view_id,
+                'views': [(view_id, 'form')],
+                'target': 'new',
+                'context': {
+                    'current_package_carrier_type': self.carrier_id.delivery_type,
+                }
             }
-        }
+        else:
+            return self._put_in_pack()
 
     @api.multi
     def send_to_shipper(self):