When you deviate from the route, Marble says "deviated from the route" and reroutes you. However, this does not take into account the direction that the user is currently moving, thus if it decides that the best route from there is to go backwards, it will reroute, and then immediately say "deviated from the route" again, until either the user turns around, or the routing system finds a better route.
OpenRouteService (currently used as backend on Android) does not provide that option, but OSRM (which we plan to use in the future) does.
Ok then, is there a way to at least add an extra instruction to "in 300m, perform a U-turn?" :)