Routing has always been one of the key challenges in mobile ad hoc networks. Ad hoc networks prefer reactive routing over proactive routing due to the rapid changes in nodes position. Geographic position based routing is a convenient method to route a packet from a source to a destination based on the local information alone. Geographic forwarding implements a greedy routing technique that selects a forwarding node that is closer to the destination than itself. If this fails the packet is trapped in a dead end caused by holes and/or obstacles. In this paper, we present a routing scheme, which avoid dead ends and also packet loss. This scheme finds an efficient forwarding node which is a reliable non concave node with high residual energy levels to forward an incoming packet. Through simulation experiments it is proved that our scheme solves the dead end problem and also packet loss.