diff -urN povray-3.6.1/source/bezier.cpp povray-3.6.1-ww/source/bezier.cpp
--- povray-3.6.1/source/bezier.cpp	2004-08-11 21:04:31.000000000 +0200
+++ povray-3.6.1-ww/source/bezier.cpp	2004-10-18 21:53:26.000000000 +0200
@@ -1229,7 +1229,7 @@
 
     Assign_Vector(vertices[2], (*Patch)[3][0]);
 
-    VSub(TempV, vertices[0], vertices[1]);
+    VSub(TempV, vertices[0], vertices[2]);
 
     VLength(temp1, TempV);
 
@@ -1251,7 +1251,7 @@
   {
     Assign_Vector(vertices[2], (*Patch)[3][0]);
 
-    VSub(TempV, vertices[0], vertices[1]);
+    VSub(TempV, vertices[0], vertices[2]);
 
     VLength(temp1, TempV);
 
@@ -1279,6 +1279,8 @@
     }
     else
     {
+      // NOTE: These 8 lines are identical in all if/else branches and 
+      //       could be moved out below. 
       VSub(TempV, vertices[1], vertices[2]);
 
       VLength(temp1, TempV);

