Just replaced the rubber inserts on my battery tray and found when I re assembled everything I'd lost the sound of the horn. I must have disturbed the wiring somewhere, the dreaded thought crossed my mind, but checking through as best I could it all seemed OK.
Then with the ignition off, I switched on the headlamp. On the handlebar dipper switch (which is part of the horn press!) I dipped the beam, went to main beam and switched the lights off.
Voila !! I pressed the horn button and it gave me a loud steady "toot". It's worked fine ever since. Must be magic !