diff --git a/lib/xmet/geo.py b/lib/xmet/geo.py
index 1598fde..85b1df7 100644
--- a/lib/xmet/geo.py
+++ b/lib/xmet/geo.py
@@ -102,6 +102,11 @@ class PolygonBuilder():
         Yield the single point to the caller, while maintaining state of
         number of points yielded to the caller.
         """
+        if self.point_first is None:
+            self.point_first = point
+
+        self.point_last = point
+
         self.point_last = point
 
         yield point
@@ -126,11 +131,6 @@ class PolygonBuilder():
         last = None
 
         for point in self.sequence:
-            if self.point_first is None:
-                self.point_first = point
-
-            self.point_last = point
-
             if last is None:
                 last = point
                 continue