Index: /trunk/src/org/openstreetmap/josm/tools/ShapeClipper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ShapeClipper.java	(revision 14626)
+++ /trunk/src/org/openstreetmap/josm/tools/ShapeClipper.java	(revision 14627)
@@ -47,6 +47,10 @@
             if (num > 0 && (type == PathIterator.SEG_CLOSE || type == PathIterator.SEG_MOVETO || pit.isDone())) {
                 // we have extracted a single segment, maybe unclosed
-                hasData |= addToResult(result, points, num,
+                boolean hasPath = addToResult(result, points, num,
                         new Rectangle2D.Double(minX, minY, maxX - minX, maxY - minY), clippingRect);
+                hasData |= hasPath;
+                if (hasPath && type == PathIterator.SEG_CLOSE) {
+                    result.closePath();
+                }
                 num = 0;
                 minX = minY = Double.POSITIVE_INFINITY;
