Hey son, we're going to play a game! It's called "Joshua STOP!" You ready? OK. You're going to run, super fast -- as fast as you can, and when I say "Joshua STOP!" you stop and freeze your body, ok? If you stop when I say "Joshua STOP!" then you win! Ready, go! (He starts to run across the room/yard/wherever). "Joshua STOP!" If he doesn't stop: "Uh oh! You forgot to stop! I WIN! You want to try again? This time, remember to stop so YOU win! Ready, go! "Joshua STOP!" YAY! You WIN! Now you get a BIG HUG and a BIG KISS and a BIG TICKLE. Let's play again!
We played the Joshua-stop game all the time, in places where it didn't matter if he ran. On a neighborhood walk, at the park, in an uncrowded mall, on our sidewalk, at the zoo -- anywhere it's safe to let him run fast. We made it super fun. Two rules: Mommy starts the game (for some reason, just giving him this rule made him cut back on the fun running away), and no matter what, you always have to stop when Mommy says "Joshua STOP!" The trick is that if you do get into a dangerous situation, like a parking lot, and he takes off, you have to do your very best to sound chipper and happy when he takes off, like you're playing the game. My son is 7 now, and he'll STILL occasionally takes off running (like if he sees a friend across the school parking lot or something), but yelling "Joshua STOP!" triggers him to stop, without him even thinking about it anymore. That's the goal.