In your situation, thepuppy takes off, 20 min. later you get him and scold him.He'll won't know what's it for. It's like you getting scolded for something you did on tuesdayoflast year.
Well you are half right. If your dog runs away and then you scold him when he comes back or you retrieve him, you have just reinforced that coming back to you is a very very bad thing.
It may seem counter intuitive,but if your dog runs away you MUST praise him when he comes back....every single time...no matter how long or far he went. You even have to praise him if you had to get in the car and drive around for 2 hours to find him! In a matter of weeks he will begin to associate coming back to you with praise and he will be eager to do it.
My fox terrier used to run off all of the time, and boy is he fast. But, with consitent praise he now only wanders off 10 yards at the most and comes back to me immediately upon my call. It is really amazing how well this works.
Additionally, you need to teach him to STAY. Keep the sessions short at first, then lengthen the times he stays from seconds to minutes. Then have him stay while you turn your back. Then have him stay while you walk off a few yards. Then have him stay while you are completely out of sight.
This may take several weeks or even months for a dog with bad habits, but it can be done. Just be sure to work off of praise. Scolding, in my experience does not work nearly as fast as usingconsistant and abundant praise. Dogs have a high drive to please their masters. They have been bred this way for centuries. Use it to your advantage.
My brittany was excellent at STAY and would sit there all day if you wanted him to. Unfortunately the fox terrier is so hyperactive that he just can't make himself sit for very long. He actually starts shaking with excitement and keeps shaking harder and harder until he just can't stand it any more. Funny to watch! Since he comes when called it isn't really a big deal that he can't stay for more than 20 seconds.