diff -upr gimp-1.3-orig/app/tools/gimpeditselectiontool.c gimp-1.3-mine/app/tools/gimpeditselectiontool.c
--- gimp-1.3-orig/app/tools/gimpeditselectiontool.c	Sat May 17 02:49:02 2003
+++ gimp-1.3-mine/app/tools/gimpeditselectiontool.c	Sun May 25 16:54:09 2003
@@ -688,6 +688,26 @@ selection_transform_segs (GimpEditSelect
 
       dest_segs[i].x2 = CLAMP (x, -1, shell->disp_width);
       dest_segs[i].y2 = CLAMP (y, -1, shell->disp_height);
+
+      /*  If this segment is a closing segment && the segments lie inside
+       *  the region, OR if this is an opening segment and the segments
+       *  lie outside the region...
+       *  we need to transform it by one display pixel
+       */
+      if (!src_segs[i].open)
+	{
+	  /*  If it is vertical  */
+	  if (dest_segs[i].x1 == dest_segs[i].x2)
+	    {
+	      dest_segs[i].x1 -= 1;
+	      dest_segs[i].x2 -= 1;
+	    }
+	  else
+	    {
+	      dest_segs[i].y1 -= 1;
+	      dest_segs[i].y2 -= 1;
+	    }
+	}
     }
 }
 
