diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index 25e3d8d65991c844d10fbd660607ae584d5744c2..aada45bc797770572e77ca94bd874f3e7a368d86 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -173,10 +173,11 @@ class KVMHypervisor(hv_base.BaseHypervisor):
       if nic.nicparams[constants.NIC_LINK]:
         script.write("  while /sbin/ip rule del dev $INTERFACE; do :; done\n")
         script.write("  /sbin/ip rule add dev $INTERFACE table $LINK\n")
-        script.write("  /sbin/ip route replace $IP/32 table $LINK"
+        script.write("  /sbin/ip route replace $IP table $LINK proto static"
                      " dev $INTERFACE\n")
       else:
-        script.write("  /sbin/ip route replace $IP/32 dev $INTERFACE\n")
+        script.write("  /sbin/ip route replace $IP proto static"
+                     " dev $INTERFACE\n")
       interface_v4_conf = "/proc/sys/net/ipv4/conf/$INTERFACE"
       interface_v6_conf = "/proc/sys/net/ipv6/conf/$INTERFACE"
       script.write("  if [ -d %s ]; then\n" % interface_v4_conf)