diff --git a/board/Marvell/db64360/db64360.c b/board/Marvell/db64360/db64360.c
index 5183466474d259b6a7949263a7b91b48fdf83820..6cae68601d34bffdad9760746b0c97600066fbfa 100644
--- a/board/Marvell/db64360/db64360.c
+++ b/board/Marvell/db64360/db64360.c
@@ -934,5 +934,9 @@ void board_prebootm_init ()
 
 int board_eth_init(bd_t *bis)
 {
-	return pci_eth_init(bis);
+	int ret;
+	ret = pci_eth_init(bis);
+	if (!ret)
+		ret = mv6436x_eth_initialize(bis);
+	return ret;
 }
diff --git a/board/Marvell/db64360/eth.h b/board/Marvell/db64360/eth.h
index aab32d2a5af0f409ef39094dd093a5817e2d3943..6fbfdfea08c92ba2c676bd75dfb49d4408ea3c22 100644
--- a/board/Marvell/db64360/eth.h
+++ b/board/Marvell/db64360/eth.h
@@ -39,5 +39,6 @@ int db64360_eth0_transmit(unsigned int s, volatile char *p);
 void db64360_eth0_disable(void);
 bool network_start(bd_t *bis);
 
+int mv6436x_eth_initialize(bd_t *);
 
 #endif /* __EVB64360_ETH_H__ */
diff --git a/board/esd/cpci750/cpci750.c b/board/esd/cpci750/cpci750.c
index 08311c963052d808d30f6d13d149504477e2c16d..98051fb3fbe426985b2a0c2e8ab1a318135d84c5 100644
--- a/board/esd/cpci750/cpci750.c
+++ b/board/esd/cpci750/cpci750.c
@@ -1101,3 +1101,8 @@ U_BOOT_CMD(
 	pldver, 1, 1, do_pldver,
 	"Show PLD version",
 	"Show PLD version)");
+
+int board_eth_init(bd_t *bis)
+{
+	return mv6436x_eth_initialize(bis);
+}
diff --git a/board/esd/cpci750/eth.h b/board/esd/cpci750/eth.h
index aab32d2a5af0f409ef39094dd093a5817e2d3943..6fbfdfea08c92ba2c676bd75dfb49d4408ea3c22 100644
--- a/board/esd/cpci750/eth.h
+++ b/board/esd/cpci750/eth.h
@@ -39,5 +39,6 @@ int db64360_eth0_transmit(unsigned int s, volatile char *p);
 void db64360_eth0_disable(void);
 bool network_start(bd_t *bis);
 
+int mv6436x_eth_initialize(bd_t *);
 
 #endif /* __EVB64360_ETH_H__ */
diff --git a/net/eth.c b/net/eth.c
index 3fb5fb685700d4e558278a1c4b15e29764402c27..a5780c5462e6fc7ddf8f14a99cab50f873ad7b56 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -81,7 +81,6 @@ static int __def_eth_init(bd_t *bis)
 int cpu_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
 int board_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
 
-extern int mv6436x_eth_initialize(bd_t *);
 extern int mv6446x_eth_initialize(bd_t *);
 
 #ifdef CONFIG_API
@@ -281,9 +280,6 @@ int eth_initialize(bd_t *bis)
 	} else
 		printf("Net Initialization Skipped\n");
 
-#if defined(CONFIG_DB64360) || defined(CONFIG_CPCI750)
-	mv6436x_eth_initialize(bis);
-#endif
 #if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx)
 	mv6446x_eth_initialize(bis);
 #endif