Several methods have been used to identify erroneous animal locations based on Argos satellite data. Using 15,987 satellite locations for 37 gray seals (Haliochoerus grypus), we tested a three-stage filtering algorithm designed to address shortcomings of other filters. In stage 1, for each location, four rates of travel were calculated-the rate to each of the two previous locations and the two subsequent locations. If all four rates exceeded 2 m/sec (95th percentile of our data), the location was removed (7.25% of total locations). Stage 2 incorporated the filtering algorithm developed by McConnell et al. (1992) resulting in the rejection of 22.75% of total locations based on reasonable assumptions of straightline travel. At stage 3, the remaining data were evaluated against a distance threshold, defined as the 99th percentile of realized distance traveled over a period of seven days. Locations exceeding this threshold were rejected (0.69% of total locations). Overall, the three-stage filter eliminated fewer locations (30.7 +/- 1.62%), than the stage 2 filter alone. Most standard locations were retained, but 85.7% of location class 0, 76.6% of A, and 41.9% of B were also retained. These location classes account for most of data routinely collected but not used.