The effects of hydrogen interstitials and oxygen vacancies on the overall ferromagnetic behaviour of Co doped ZnO (ZnO:Co) have been closely examined using different density functional calculations. The results demonstrate the importance of correcting the bandgap problem of the ZnO host as well as the lack of correlation in Co s 3d states which can severely affect the coupling of H and Co s impurity bands. Our results show that in hydrogenated ZnO:Co, hydrogen interstitial can also stabilize the ferromagnetic interaction at low Co concentrations, but this requires the formation of the in-plane O-H-Co-O-Co complex. In this structure, the hydrogen interstitial forms an anionic complex with the neighbouring oxygen, which polarizes the surrounding oxygen to mediate the ferromagnetism through the superexchange mechanism. An oxygen vacancy by itself would not cause ferromagnetism in ZnO:Co. On the other hand, in the presence of hydrogen interstitials, oxygen vacancies can significantly enhance the magnetic coupling between H and Co-O-Co as a shallow donor if it is far away from the in-plane O-H-Co-O-Co complex. However, the total energy results show that this is much more favoured when the oxygen vacancy is near the in-plane O-H-Co-O-Co complex, which can inhibit the ferromagnetic interaction between Co ions.