Die Lösung ist ganz einfach: nicht zulassen, dass er etwas anderes tut, als zu Dir zu kommen, wenn Du ihn rufst.
Dazu musst du dafür sorgen, dass der Hund weiß (oder zumindest der Meinung ist), dass du immer Zugriff auf ihn hast.
Im Klartext würde ich den Hund mittels Schleppleine absichern und sofort korrigieren, wenn er irgendwo schnuppern will, nachdem Du ihn gerufen hast, sobald er in deine Richtung kommt, bestätigen.
Dann kannst Du die Ablenkung einbauen / steigern. Ihn also zB abrufen, während er irgendwo interessiert schnüffelt. Ich persönlich werfe auch gerne meinen Schlüsselbund. Solltest halt schauen, dass der erste Wurf auch etwas Eindruck schindet (den Hund erschreckt und ihn aus der Situation reißt). Ab dann reicht meistens schon ein Rascheln mit dem Schlüsselbund, um den selben Effekt zu erreichen.
Erst wenn das einige Wochen zu 100% geklappt hat, würde ich ihn wieder ableinen. Generell schaue ich aber, dass meine Hunde immer im Radius von maximal 15m von mir sind.
Das ist jetzt viel Text, aber im Endeffekt ist es doch klar: Sobald der Hund merkt, dass Du keinen direkten Zugriff auf ihn hast, hört er auch nur noch so, wie er gerade Lust hat
Wenn er nicht das tut, was Du von ihm verlangst, muss unverzüglich eine Reaktion von dir kommen. Und zwar nicht nur normalerweise, sondern immer.
Weil die meisten Hundehalter aber in dieser Hinsicht zu inkonsequent sind, hören ihre Hunde auch nicht so, wie sie sich es wünschen.