In this paper, we describe a novel approach to vision based navigation. In this approach, an airplane's position at each sampling time is estimated through a two-step process. In the first step, the plane's 3D motion is estimated from the current and previous image frames to produce an initial estimate of the plane's position. In the second step, the error in the initial position estimate is corrected by using a test image generated from a digital elevation map of the flight area and the previous frame. Experimental results demonstrated the efficacy of this approach--the correction step reduces position estimation error and with it, the error does not increase with time.