Index: /trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 354)
+++ /trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 355)
@@ -194,6 +194,19 @@
 				currentWayChunk.add(currentNode);
 				wayChunks.add(currentWayChunk);
-				}
-			}
+			}
+		}
+
+		// Handle circular ways specially.
+		// If you split at a circular way at two nodes, you just want to split
+		// it at these points, not also at the former endpoint.
+		// So if the last node is the same first node, join the last and the
+		// first way chunk.
+		List<Node> lastWayChunk = wayChunks.get(wayChunks.size() - 1);
+		if (wayChunks.size() >= 2 && wayChunks.get(0).get(0) == lastWayChunk.get(lastWayChunk.size() - 1)) {
+			lastWayChunk.remove(lastWayChunk.size() - 1);
+			lastWayChunk.addAll(wayChunks.get(0));
+			wayChunks.remove(wayChunks.size() - 1);
+			wayChunks.set(0, lastWayChunk);
+		}
 
 		if (wayChunks.size() < 2) {
