diff --git a/pixie.nimble b/pixie.nimble
index 6e2efc5..c3511ef 100644
--- a/pixie.nimble
+++ b/pixie.nimble
@@ -1,4 +1,4 @@
-version     = "0.0.8"
+version     = "0.0.9"
 author      = "Andre von Houck and Ryan Oldenburg"
 description = "Full-featured 2d graphics library for Nim."
 license     = "MIT"
diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim
index 0aa07a6..5ef0586 100644
--- a/src/pixie/paths.nim
+++ b/src/pixie/paths.nim
@@ -508,7 +508,11 @@ iterator segments*(s: seq[Vec2]): Segment =
   for i in 0 ..< s.len - 1:
     yield(Segment(at: s[i], to: s[i + 1]))
   if s.len > 0:
-    yield(Segment(at: s[^1], to: s[0]))
+    let
+      first = s[0]
+      last = s[^1]
+    if first != last:
+      yield(Segment(at: s[^1], to: s[0]))
 
 proc strokePolygons*(ps: seq[seq[Vec2]], strokeWidthR, strokeWidthL: float32): seq[seq[Vec2]] =
   ## Converts simple polygons into stroked versions: