diff --git a/addons/delivery/views/delivery_view.xml b/addons/delivery/views/delivery_view.xml
index 7fe85289c8ecb72ea02410d32c6711161be0b47c..804e0191da4a1c995738d4bb4ee86944185447cc 100644
--- a/addons/delivery/views/delivery_view.xml
+++ b/addons/delivery/views/delivery_view.xml
@@ -276,7 +276,7 @@
             <field name="arch" type="xml">
                 <xpath expr='//group[@name="carrier_data"]' position='replace'>
                     <group name='carrier_data'>
-                      <field name="carrier_id"/>
+                      <field name="carrier_id" attrs="{'invisible': [('picking_type_code', '=', 'incoming')]}"/>
                       <field name="delivery_type" attrs="{'invisible':True}"/>
                       <label for="carrier_tracking_ref"/>
                       <div>
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 32753fb18ea0475480aaf6ce1aaa6e6f1100e055..2cdd993d6e0fe375fdb6f082d65b26290c3a6dde 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -929,6 +929,15 @@ class stock_picking(models.Model):
         picking_type = self.env['stock.picking.type'].browse(picking_type_id)
         return picking_type.default_location_src_id
 
+    @api.model
+    def default_get(self, fields):
+        res = super(stock_picking, self).default_get(fields)
+        if self._context.get('default_picking_type_id') and 'picking_type_id' in fields:
+            picking_type = self.env['stock.picking.type'].browse(res['picking_type_id'])
+            res['picking_type_code'] = picking_type.code
+        return res
+
+
     _columns = {
         'name': fields.char('Reference', select=True, states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, copy=False),
         'origin': fields.char('Source Document', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, help="Reference of the document", select=True),
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index aeb4c779eafd99758cfbaff576e6cbeb29d3bce0..c6792e6066154cb39bad653f4a6eda256ab80d6e 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -862,8 +862,8 @@
                     <group class="hidden-xs">
                         <group>
                             <field name="partner_id" attrs="{'invisible': [('picking_type_code', '=', 'internal')]}" on_change="onchange_picking_type(picking_type_id,partner_id)"/>
-                            <field name="location_id" groups="stock.group_locations" attrs="{'invisible': [('picking_type_code', '=', 'incoming')]}"/>
-                            <field name="location_dest_id" groups="stock.group_locations" attrs="{'invisible': [('picking_type_code', '=', 'outgoing')]}"/>
+                            <field name="location_id" groups="stock.group_locations" attrs="{'invisible': [('picking_type_code', '=', 'outgoing')]}"/>
+                            <field name="location_dest_id" groups="stock.group_locations" attrs="{'invisible': [('picking_type_code', '=', 'incoming')]}"/>
                             <field name="backorder_id" readonly="1" attrs="{'invisible': [('backorder_id','=',False)]}"/>
                         </group>
                         <group>