diff --git a/net/eth.c b/net/eth.c
index b978aae1016f05a2960870ecdb70244be0f54c45..c661775d1ca8f29f6d5bae58e8373d99d6e9ad6b 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -575,8 +575,13 @@ static int eth_post_probe(struct udevice *dev)
 
 static int eth_pre_remove(struct udevice *dev)
 {
+	struct eth_pdata *pdata = dev->platdata;
+
 	eth_get_ops(dev)->stop(dev);
 
+	/* clear the MAC address */
+	memset(pdata->enetaddr, 0, 6);
+
 	return 0;
 }