A novel distributed range-free localisation algorithm to accurately locate regular nodes in wireless sensor networks is presented. Existing methods reduce the possible area where a regular node would be located by using anchors (i.e. nodes with known locations) only. These methods are effective only when anchor density is high. In contrast, the work presented here reduces the possible area of a regular node iteratively, using both anchor node locations and the possible areas of its neighbouring and non-neighbouring 'regular' nodes from early iteration. This allows a significant improvement in the localisation accuracy. Simulations verify the advantage of the proposed algorithm and show that the localisation error can be controlled within 15% with off-the-shelf devices.