A huge asteroid or comet smashing into the Earth off the coast of Mexico at the end of the Cretaceous Period 65 million years ago is widely believed to have killed off the dinosaurs.

But some sceptics point to an absence of dinosaur fossils for three million years leading up to the impact as evidence that the creatures may have already gone when the meteor struck.

The "three million gap" has helped drive controversy over what happened to the dinosaurs, some of which evolved into birds.

However, the horn fossil appears to close the gap, according to scientists writing in the Royal Society journal Biology Letters.

The team, led by Dr Tyler Lyson, from Yale University in New Haven, US, wrote: "The in situ specimen demonstrates that a gap devoid of non-avian (bird) dinosaur fossils does not exist and is inconsistent with the hypothesis that non-avian dinosaurs were extinct prior to the K-T boundary impact event."

The scientists pointed out that a 125cm section of rock strata laid down after the impact was completely devoid of fossils.