A navigation device, comprising a processor which is operably coupled to a memory resource an angular information source and a dead reckoning navigation module wherein the DRN module is a software module included in a software stack stored on the navigation device and provides dead-reckoning navigation when the navigation device fails to receive navigation signals, the DRN including: means for obtaining angular information from the angular information source relating to a heading of navigation device travel, wherein the heading of navigation device travel indicates a direction of travel of the navigation device; and means for obtaining distance information relating to a distance travelled by the navigation device, and wherein said DRN module is arranged to: determine a reference heading for a roadway system having a grid layout based on a direction of navigation device travel for a first distance in response to a determination that a change in the heading of navigation device travel over the first distance is less than a first threshold angle; set a current heading of navigation device travel as equal to the determined reference heading; determine a change in the heading of navigation device travel over each of one or more second distances (731,732,741,742,743,744) travelled by the navigation device, said second distance being less than the first distance; determine that the navigation device has resumed a straight direction of travel and update the current heading of navigation device travel as an integer multiple of a predetermined lock angle in combination with the reference heading in response to a determination that the change in heading over one of the second distances is less than a second threshold angle, wherein the integer is selected such that the updated current heading best matches the heading of navigation device travel indicated by the obtained angular information; and determine a current location of the navigation device based on the current heading of navigation device travel and the distance travelled by the navigation device indicated by the obtained distance information. determine a reference heading for a roadway system having a grid layout based on a direction of navigation device travel for a first distance in response to a determination that a change in the heading of navigation device travel over the first distance is less than a first threshold angle; set a current heading of navigation device travel as equal to the determined reference heading; determine a change in the heading of navigation device travel over each of one or more second distances (731,732,741,742,743,744) travelled by the navigation device, said second distance being less than the first distance; determine that the navigation device has resumed a straight direction of travel and update the current heading of navigation device travel as an integer multiple of a predetermined lock angle in combination with the reference heading in response to a determination that the change in heading over one of the second distances is less than a second threshold angle, wherein the integer is selected such that the updated current heading best matches the heading of navigation device travel indicated by the obtained angular information; and determine a current location of the navigation device based on the current heading of navigation device travel and the distance travelled by the navigation device indicated by the obtained distance information.