diff -r bec11707ed3f source/core/shape/quadric.cpp
--- a/source/core/shape/quadric.cpp	Thu Apr 09 20:57:14 2015 +0200
+++ b/source/core/shape/quadric.cpp	Sat Aug 01 19:46:33 2015 +0200
@@ -840,7 +840,7 @@
         {
             if (D != 0.0)
             {
-             T1[X] = J / (2.0 * D);
+             T1[X] = -J / (2.0 * D);
             }
             else
             {
@@ -856,7 +856,7 @@
         {
             if (G != 0.0)
             {
-                T1[Y] = J / (2.0 * G);
+                T1[Y] = -J / (2.0 * G);
             }
             else
             {
@@ -872,7 +872,7 @@
         {
             if (I != 0.0)
             {
-                T1[Z] = J / (2.0 * I);
+                T1[Z] = -J / (2.0 * I);
             }
             else
             {
@@ -885,7 +885,7 @@
         D += A * T1[X];
         G += E * T1[Y];
         I += H * T1[Z];
-        J -= T1[X]*(A*T1[X] + 2.0*D) + T1[Y]*(E*T1[Y] + 2.0*G) + T1[Z]*(H*T1[Z] + 2.0*I);
+        J -= T1[X]*(A*T1[X] - 2.0*D) + T1[Y]*(E*T1[Y] - 2.0*G) + T1[Z]*(H*T1[Z] - 2.0*I);
     }
     else
     {
