diff --git a/bcm/bcm.c b/bcm/bcm.c
index 2f79f0e62a244a120a03cf32276bf907bd457032..b507e250c06410f93c00cdbbe39d0b88c36f3481 100644
--- a/bcm/bcm.c
+++ b/bcm/bcm.c
@@ -54,7 +54,6 @@ static int bcm_eth_get_unit_port(const char *ifname, int *unit, int *port)
 {
 	struct ethswctl_data data;
 	int ret;
-	int i;
 
 	memset(&data, 0, sizeof(struct ethswctl_data));
 
@@ -73,6 +72,7 @@ static int bcm_eth_get_unit_port(const char *ifname, int *unit, int *port)
 	*port = data.port;
 
 	if (!data.port && data.port_map) {
+		int i;
 		unsigned int portmap = data.port_map;
 
 		for (i = 0; i < 8 * sizeof(portmap); i++) {