diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py
index 81fa89dcd9d4a871bf974c227f948a540c42ace5..ad3ebb5ea61e9a23b8c8b2c75efe3bdc52f12599 100644
--- a/src/Model/Geometry/ProfileXYZ.py
+++ b/src/Model/Geometry/ProfileXYZ.py
@@ -461,23 +461,23 @@ class ProfileXYZ(Profile, SQLSubModel):
             if self.point(i).z <= z:
                 ird = i
         # interpolation des points ptX et ptY
-        if (irg > 0):
+        if (irg < self.number_points-1):
             x=np.interp(z,
-                        [self.point(irg-1).z,self.point(irg).z],
-                        [self.point(irg-1).x,self.point(irg).x])
+                        [self.point(irg).z,self.point(irg+1).z],
+                        [self.point(irg).x,self.point(irg+1).x])
             y=np.interp(z,
-                        [self.point(irg-1).z,self.point(irg).z],
-                        [self.point(irg-1).y,self.point(irg).y])
+                        [self.point(irg).z,self.point(irg+1).z],
+                        [self.point(irg).y,self.point(irg+1).y])
             ptX=PointXYZ(x,y,z)
         else:
             ptX = self.point(0)
-        if (ird < self.number_points-1):
+        if (ird > 0):
             x=np.interp(z,
-                        [self.point(ird).z,self.point(ird+1).z],
-                        [self.point(ird).x,self.point(ird+1).x])
+                        [self.point(ird-1).z,self.point(ird).z],
+                        [self.point(ird-1).x,self.point(ird).x])
             y=np.interp(z,
-                        [self.point(ird).z,self.point(ird+1).z],
-                        [self.point(ird).y,self.point(ird+1).y])
+                        [self.point(ird).z,self.point(ird-1).z],
+                        [self.point(ird).y,self.point(ird-1).y])
             ptY=PointXYZ(x,y,z)
         else:
             ptY = self.point(self.number_points-1)