diff --git a/cpu/ppc4xx/miiphy.c b/cpu/ppc4xx/miiphy.c
index 6a92bf83648e77b2612bd93cc8d7641fc9bfd110..fa3bfc8d9f51f4e438613c9462424e18e39774d7 100644
--- a/cpu/ppc4xx/miiphy.c
+++ b/cpu/ppc4xx/miiphy.c
@@ -350,7 +350,7 @@ int emac4xx_miiphy_read (char *devname, unsigned char addr, unsigned char reg,
 		return -1;
 
 	sta_reg = in_be32((void *)EMAC_STACR + emac_reg);
-	*value = *(u16 *)(&sta_reg);
+	*value = sta_reg >> 16;
 
 	return 0;
 }