diff --git a/app/defaults.py b/app/defaults.py
index 2f7f20c2e75fd60be12f87b8cbfe0fd4ca449768..afc5efafd42bf646cd3fb01d4e7d9f110bdeb545 100644
--- a/app/defaults.py
+++ b/app/defaults.py
@@ -21,14 +21,13 @@ defaults = [
     models.Action(name='Set as parent'),
     models.Action(name='Update'),
 
-    models.DeviceType(name='Physical'),
+    models.DeviceType(name='Physical Machine'),
     models.DeviceType(name='Virtual Machine'),
-    models.DeviceType(name='Switch'),
-    models.DeviceType(name='Virtual IOC'),
-    models.DeviceType(name='Industrial PC IOC'),
-    models.DeviceType(name='MicroTCA IOC'),
-    models.DeviceType(name='VME IOC'),
+    models.DeviceType(name='Network'),
+    models.DeviceType(name='MicroTCA'),
+    models.DeviceType(name='VME'),
     models.DeviceType(name='PLC'),
 
     models.Tag(name='gateway', admin_only=True),
+    models.Tag(name='IOC', admin_only=False),
 ]
diff --git a/app/inventory/views.py b/app/inventory/views.py
index 7095eafc275c7c23be7474686c1bd75662390754..898ad9da1de494b8be4a0ff65e1644c2e2975f8d 100644
--- a/app/inventory/views.py
+++ b/app/inventory/views.py
@@ -331,7 +331,7 @@ def retrieve_free_stack_members(host_id):
         # In case of unknown host_id or if host_id is None
         current_app.logger.debug(f'Invalid host_id: {host_id}')
         return jsonify(data=disabled_data)
-    if str(host.device_type) != 'Switch':
+    if str(host.device_type) != 'Network':
         return jsonify(data=disabled_data)
     members = host.free_stack_members()
     selected_member = 'None'
diff --git a/migrations/versions/ea606be23b95_rename_physical_device_type.py b/migrations/versions/ea606be23b95_rename_physical_device_type.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5e08666ccef569b8bb4d15a762e56a656ffa1f2
--- /dev/null
+++ b/migrations/versions/ea606be23b95_rename_physical_device_type.py
@@ -0,0 +1,26 @@
+"""Rename physical device type
+
+Revision ID: ea606be23b95
+Revises: 8f135d5efde2
+Create Date: 2018-04-27 19:30:16.398508
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'ea606be23b95'
+down_revision = '8f135d5efde2'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    device_type = sa.sql.table('device_type', sa.sql.column('id'), sa.sql.column('name'))
+    op.execute(device_type.update().where(device_type.c.name == 'Physical').values(name='Physical Machine'))
+
+
+def downgrade():
+    device_type = sa.sql.table('device_type', sa.sql.column('id'), sa.sql.column('name'))
+    op.execute(device_type.update().where(device_type.c.name == 'Physical Machine').values(name='Physical'))
diff --git a/tests/functional/test_api.py b/tests/functional/test_api.py
index 2a71aa0bac372b1a409d3924f35b123b59be1c93..3fe122d39ac4d79a37b29e0751eba50f45a22b32 100644
--- a/tests/functional/test_api.py
+++ b/tests/functional/test_api.py
@@ -797,7 +797,7 @@ def test_create_host(client, device_type_factory, user_token):
 
 
 def test_create_host_with_items(client, item_factory, device_type_factory, user_token):
-    device_type = device_type_factory(name='Switch')
+    device_type = device_type_factory(name='Network')
     item1 = item_factory(ics_id='AAA001')
     item2 = item_factory(ics_id='AAA002')
     # Check that we can pass a list of items ics_id