diff --git a/tools/kvm-ifup.in b/tools/kvm-ifup.in
index 2e8e0c23c10e2366a0c9586f978ab33f4b35bac8..a5e8c1b854c09dcb72f32c81b7cc6b44635a9ac1 100644
--- a/tools/kvm-ifup.in
+++ b/tools/kvm-ifup.in
@@ -33,14 +33,20 @@ if [ -x "@SYSCONFDIR@/ganeti/kvm-vif-bridge" ]; then
 	exec @SYSCONFDIR@/ganeti/kvm-vif-bridge
 fi
 
-ip link set $INTERFACE up
-
 if [ "$MODE" = "bridged" ]; then
+	# Fix the autogenerated MAC to have the first octet set to "fe"
+	# to discourage the bridge from using the TAP dev's MAC
+	FIXED_MAC=$(ip link show $INTERFACE | awk '{if ($1 == "link/ether") printf("fe%s",substr($2,3,15))}')
+	ip link set $INTERFACE address $FIXED_MAC
+
+	ip link set $INTERFACE up
 	ip link set $INTERFACE mtu $(</sys/class/net/${BRIDGE}/mtu)
 
 	# Connect the interface to the bridge
 	brctl addif $BRIDGE $INTERFACE
 else
+	ip link set $INTERFACE up
+
 	if [ -z "$IP" ]; then
 		echo "Routed NIC but no IP address specified"
 		exit 1