if theres nothing wrong with the wiring and if the fuse is okay then id guess get a new one? ( im no expert but i had the same problem and the guy who did my mot replaced it- so he says!.. im sure he just fixed it and charged me for a new one but works now anyway) new horns are cheap, around £15.
DRU, December 2008