two arcs with different normals

Hi!
I got a problem when drawing two identical arcs with different!!! normals...

Small example:

auto eliipse1 = new Geom_Ellipse(gp_Ax2(gp_Pnt(0,0,0), gp_Dir(0, 0, 1)), 1, 1);
auto arcOnEl1 = new GC_MakeArcOfEllipse(eliipse1->Elips(), 0.0, 3.14159265359, true);
vout << BRepBuilderAPI_MakeEdge(arcOnEl1->Value());

auto eliipse2 = new Geom_Ellipse(gp_Ax2(gp_Pnt(0, 0, 0), gp_Dir(0, 0, -1)), 1, 1);
auto arcOnEl2 = new GC_MakeArcOfEllipse(eliipse2->Elips(), 0.0, 3.14159265359, true);
vout << BRepBuilderAPI_MakeEdge(arcOnEl2->Value());

After execution, I should see a circle, but the arcs overlapped each other
wrong output result..
Why is this happening?

My version is 7.7.0