diff --git a/app/defaults.py b/app/defaults.py
index e70db5b6d3da1f6e1aef90ca6c048a50240c42d9..2f7f20c2e75fd60be12f87b8cbfe0fd4ca449768 100644
--- a/app/defaults.py
+++ b/app/defaults.py
@@ -21,5 +21,14 @@ defaults = [
     models.Action(name='Set as parent'),
     models.Action(name='Update'),
 
+    models.DeviceType(name='Physical'),
+    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='PLC'),
+
     models.Tag(name='gateway', admin_only=True),
 ]
diff --git a/app/network/views.py b/app/network/views.py
index be5780efaa2d86156f378055495ef866804da8e4..747d9f0e669244ac470f31dc666331d2bb612aa3 100644
--- a/app/network/views.py
+++ b/app/network/views.py
@@ -111,7 +111,7 @@ def edit_host(name):
 @login_groups_accepted('admin', 'create')
 def create_interface(hostname):
     host = models.Host.query.filter_by(name=hostname).first_or_404()
-    random_mac = host.device_type.name == 'Virtual'
+    random_mac = host.device_type.name.startsWith('Virtual')
     form = InterfaceForm(request.form, host_id=host.id, interface_name=host.name,
                          random_mac=random_mac)
     if form.validate_on_submit():
diff --git a/app/static/js/hosts.js b/app/static/js/hosts.js
index 9ec72da9f2548a1053c7fa598791014d37eec9c7..01e17b5495e6ed61223e19f5559760d8838cb263 100644
--- a/app/static/js/hosts.js
+++ b/app/static/js/hosts.js
@@ -15,10 +15,10 @@ $(document).ready(function() {
   // And check / uncheck random_mac checkbox
   function update_device_type_attributes() {
     var device_type = $("#device_type_id option:selected").text();
-    if( device_type.startsWith("Physical") ) {
-      $("#random_mac").prop("checked", false).change();
-    } else {
+    if( device_type.startsWith("Virtual") ) {
       $("#random_mac").prop("checked", true).change();
+    } else {
+      $("#random_mac").prop("checked", false).change();
     }
   }
 
diff --git a/migrations/versions/8f135d5efde2_rename_virtual_device_type.py b/migrations/versions/8f135d5efde2_rename_virtual_device_type.py
new file mode 100644
index 0000000000000000000000000000000000000000..8d18bd550274adf1966e90ce5cee4e338dc8a38f
--- /dev/null
+++ b/migrations/versions/8f135d5efde2_rename_virtual_device_type.py
@@ -0,0 +1,26 @@
+"""Rename Virtual device type
+
+Revision ID: 8f135d5efde2
+Revises: 573560351033
+Create Date: 2018-04-23 07:43:43.195703
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '8f135d5efde2'
+down_revision = '573560351033'
+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 == 'Virtual').values(name='Virtual 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 == 'Virtual Machine').values(name='Virtual'))