diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 0a17fb48c55ce51891d842780de244a43c8692ea..c993a32b3f50c1b0389a90ee193aa7bb24e94ba4 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -408,7 +408,7 @@ static int mii_probe(struct net_device *dev)
 	mdc_div = ((sclk / MDC_CLK) / 2) - 1;
 
 	sysctl = bfin_read_EMAC_SYSCTL();
-	sysctl |= SET_MDCDIV(mdc_div);
+	sysctl = (sysctl & ~MDCDIV) | SET_MDCDIV(mdc_div);
 	bfin_write_EMAC_SYSCTL(sysctl);
 
 	/* search for connect PHY device */