Standard_Real dd[2][4] = { {(xc-x11), (xc-x12), (xc-x21), (xc-x22)},   //dX
                                  {(yc-y11), (yc-y12), (yc-y21), (yc-y22)} }; //dY
 
-      Standard_Integer i = 0;
-      for(; i < 2; i++ )
+      for( Standard_Integer i = 0; i < 2; i++ )
       {
-        if ( dd[i][0]*dd[i][1] > dTol || dd[i][2]*dd[i][3] > dTol)
+        if ( dd[i][0] * dd[i][1] > RESOLUTION || dd[i][2] * dd[i][3] > RESOLUTION )
         {
           isOnLines = Standard_False;
           break;
       // check the intersection point is on the ends of segments
       if ( isOnLines )
       {
-        for( i = 0; i < 2; i++ )
+        for( Standard_Integer i = 0; i < 2; i++ )
         {
           //     if it's the last segment and intersection point lies at the end
           if ( ( jk == jkEnd                                              ||
 
--- /dev/null
+puts "================"
+puts "CR24775"
+puts "================"
+puts ""
+###############################################
+## False detecting of intersection in BRepMesh_Classifier class.
+###############################################
+
+restore [locate_data_file bug24775_face.brep] face
+vinit
+vdisplay face
+vfit
+
+set trinfo_s [trinfo face]
+regexp {([0-9]+) triangles} ${trinfo_s} str nbtri_s
+regexp {([0-9]+) nodes} ${trinfo_s} str nbnod_s
+regexp {deflection ([0-9.+e-]+)} ${trinfo_s} str defl_s
+
+if { ${nbtri_s} == 0 } {
+   puts "Error: shape contains 0 triangles"
+} else {
+   puts "OK: shape contains triangles"
+}
+
+if { ${nbnod_s} == 0 } {
+   puts "Error: shape contains 0 nodes"
+} else {
+   puts "OK: shape contains nodes"
+}
+
+if { ${defl_s} == 0 } {
+   puts "Error: deflection is 0"
+} else {
+   puts "OK: deflection is good"
+}