diff --git a/net/arp.c b/net/arp.c
index bac4cab5efa55153c14c620b0be47598a82b05f4..8e1d2edd6207a43e4ad16a5d42a3aad8147427ce 100644
--- a/net/arp.c
+++ b/net/arp.c
@@ -194,7 +194,7 @@ void ArpReceive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
 #ifdef CONFIG_KEEP_SERVERADDR
 		if (NetServerIP == NetArpWaitPacketIP) {
 			char buf[20];
-			sprintf(buf, "%pM", arp->ar_sha);
+			sprintf(buf, "%pM", &arp->ar_sha);
 			setenv("serveraddr", buf);
 		}
 #endif