diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index 9baf279f24c2efa5b44dec1b16f0d3792f00f531..24c271d56f07a8a79eb10511201e018604cc290b 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -393,8 +393,14 @@ class KVMHypervisor(hv_base.BaseHypervisor):
     if not kvm_nics:
       kvm_cmd.extend(['-net', 'none'])
     else:
+      nic_type = hvparams[constants.HV_NIC_TYPE]
+      if nic_type == constants.HT_NIC_PARAVIRTUAL:
+        nic_model = "model=virtio"
+      else:
+        nic_model = "model=%s" % nic_type
+
       for nic_seq, nic in enumerate(kvm_nics):
-        nic_val = "nic,macaddr=%s,model=virtio" % nic.mac
+        nic_val = "nic,macaddr=%s,%s" % (nic.mac, nic_model)
         script = self._WriteNetScript(instance, nic_seq, nic)
         kvm_cmd.extend(['-net', nic_val])
         kvm_cmd.extend(['-net', 'tap,script=%s' % script])