Index: /branches/pap_mops/psLib/src/types/psTree.c
===================================================================
--- /branches/pap_mops/psLib/src/types/psTree.c	(revision 25188)
+++ /branches/pap_mops/psLib/src/types/psTree.c	(revision 25189)
@@ -428,10 +428,11 @@
         switch (dim) {
           case 2: {
-              double dphi = coords->data.F64[0] - tree->data->F64[index][0];
-              double dlambda = coords->data.F64[1] - tree->data->F64[index][1];
+              // Haversine formula
+              double dphi = coords->data.F64[1] - tree->data->F64[index][1];
               double sindphi = sin(dphi / 2.0);
+              double dlambda = coords->data.F64[0] - tree->data->F64[index][0];
               double sindlambda = sin(dlambda / 2.0);
               return PS_SQR(sindphi) +
-                  cos(coords->data.F64[0]) * cos(coords->data.F64[0]) * PS_SQR(sindlambda);
+                  cos(coords->data.F64[1]) * cos(tree->data->F64[index][1]) * PS_SQR(sindlambda);
           }
           default:
