There are two reasons why the player encounters MissingNo., both as a result of programming bugs. The first is caused by the way the game stores battle information and the second is caused by the Old Man script in Viridian City. When traveling from one area to another, the game assigns numbers for Pokémon that the player encounters to a data buffer, read by the game when they encounter a wild Pokémon. However, on the right side of the Cinnabar and Seafoam Islands, no data is actually assigned to this buffer, and the information from the previous location is used instead (the player's name data).