--- gd.c.original	2007-08-06 17:05:34.000000000 -0700
+++ gd.c	2007-08-06 19:47:34.000000000 -0700
@@ -1,4 +1,4 @@
-/* $Id: gd.c,v 1.1 2007/07/19 01:12:03 ducky Exp $ */
+/* $Id: gd.c,v 1.1 2007/07/19 01:12:03 ducky Exp ducky $ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -3085,11 +3085,11 @@
 	      im->polyInts[ints++] = (int) ((float) ((y - y1) * (x2 - x1)) /
 		(float) (y2 - y1) + 0.5 + x1);
 	    }
-	  else if ((y == maxy) && (y > y1) && (y <= y2))
-	    {
-	      im->polyInts[ints++] = (int) ((float) ((y - y1) * (x2 - x1)) /
-		(float) (y2 - y1) + 0.5 + x1);
-	    }
+	  // Avoid a divide-by-zero error
+	  else if (y1 == y2)
+	  {
+		  im->polyInts[ints++] = x2;
+	  }
 	}
       /* 
         2.0.26: polygons pretty much always have less than 100 points,
