Diversity-based protocols such as network coding and opportunistic routing have been proposed in recent years to exploit spatial diversity in wireless communication. By utilizing concurrent links, these protocols achieve significantly better performance than traditional approaches. However, they explicitly or implicitly assume that wireless links are independent, which overestimates the true spatial diversity in reality. For the first time, this paper analyzes the impact of link correlation on network coding and introduces Correlated Coding, a link correlation-aware design that seeks to optimize the transmission efficiency by maximizing necessary coding opportunities. Correlated coding uses only one-hop information, which makes it work in a fully distributed manner and introduces minimal communication overhead. The highlight of our design is its broad applicability and effectiveness. We implement our design with four broadcast protocols and three unicast protocols, and evaluate them extensively with one 802.11 test bed and three 802.15.4 test beds running TelosB, MICAz, and Green Orbs nodes. The experiment results show that (i) more coding opportunities do not lead to more transmission benefits, and (ii) compared to coding aware protocols, the number of coding operations is reduced while the transmission efficiency is improved.