
Do be patient - training manners on-leash is arguably the hardest thing (recall aside) that a dog owner has to train. And if a dog already pulls, it's a lot harder. My dobe has pulled from day one, and he's got gradually worse - but, we are slowly getting there (he's 3 now), with a lot of patience, and above all, consistence. I still find that he'll pull on a flat collar - I have to use a halti harness, but sometimes he'll walk nicely without the harness; that's a sign to me that things are improving. If your little guy comes back to the right place when you stop, keep it up! It's the same method I use with Remy - on his worse days, I find I might have to stop a couple times, then stop and go back 6 or 7 steps with him a couple times to really get it through to him that I will NOT go anywhere with him pulling. It does feel like an uphill struggle, but it does work in the long run for us.
Tain attention just like starryeyes describes - if a dog isn't paying attention - i.e. not aware of the owner or where you are - then nice leash walking is tough to get. You might have to get inventive - my college tutor has a GSD that's a serial puller, and the only way she can get him to walk nicely is to throw in a command every 10 steps or so - a spin, a down, sit, and so on. Also, she will only allow him to sniff things if he doesn't pull towards them.
One other thing - how much exercise does he get? Most dogs need a good run every day, and terriers are definitely no exception - I for one find that if Remy's had a good run he'll walk better, as he's not trying to burn off extra energy. The same is true of my other dog - she doesn't pull as a rule, but if she hasn't had enough running on a given day I can see her struggling to control herself on lead!