Fly north with heading of 0

Hi,
i asked this in Software Development, sorry for asking here again but it is driving me nuts.

In navigator_main.cpp when I set _pos_sp_triplet.current so that my plain should fly straight up north with a heading of 0°, it results in a heading of around 15°. Why is that? And how could i let my plain fly up straight up North?

For example:
double lat = get_global_position()->lat;
double lon = get_global_position()->lon;
waypoint_from_heading_and_distance(lat, lon, 0.0f, 1000.0f, &lat, &lon);
_pos_sp_triplet.current.lat = lat;
_pos_sp_triplet.current.lon = lon;
set_position_setpoint_triplet_updated();