Severe received signal strength (RSS) fluctuation is one of the crucial problems in an indoor positioning system using fingerprint-based algorithms. Even at a fixed location, the RSSs received by a mobile device at different time have large discrepancy. Adopting these fluctuated signals for positioning may lead to inaccurate results. To mitigate this problem, in this paper, any of the existing fingerprint-based indoor positioning algorithms can be integrated into our positioning system to estimate the location of mobile device. Then, a mobility prediction algorithm using the model of Brownian motion is presented for further calculating the rationality of the estimated location and correcting the inaccurate results. To be realistic, some experiments in a real WLAN environment with a multitude of people moving in a testing area demonstrate the noticeably better accuracy of this approach. The solution can ensure low and stable positioning error. Besides, the region where training records are out of date can also be found out.