diff --git a/board/keymile/common/ivm.c b/board/keymile/common/ivm.c
index bcf3aed97e32c95ed3193cae2ca3be383f305b9d..70d78457f25e8ab108a1ed282dbceccd5a93a13f 100644
--- a/board/keymile/common/ivm.c
+++ b/board/keymile/common/ivm.c
@@ -221,7 +221,12 @@ static int ivm_analyze_block2(unsigned char *buf, int len)
 		sprintf((char *)valbuf, "%pM", buf);
 	}
 #endif
+#ifdef MACH_TYPE_KM_KIRKWOOD
 	setenv((char *)"ethaddr", (char *)valbuf);
+#else
+	if (getenv("ethaddr") == NULL)
+		setenv((char *)"ethaddr", (char *)valbuf);
+#endif
 
 	/* IVM_MacCount */
 	count = (buf[10] << 24) +