Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java	(revision 23853)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java	(revision 23854)
@@ -139,7 +139,10 @@
 			
 			if (sNode != null) {
-				// TODO: Check if sgemnt really belongs to the street, even if the
-				// names are the same.
+				// TODO: Check if segment really belongs to the street, even if the
+				// names are the same. Then the streets should be split up...
 				sNode.addStreetSegment(newSegment);
+				if (sNode.hasDisconnectedSegments()) {
+					System.out.println("Warnig: Disconnected street: " + sNode.getName());
+				}
 			} else {
 				throw new RuntimeException("Street node is null!");
Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/StreetNode.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/StreetNode.java	(revision 23853)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/StreetNode.java	(revision 23854)
@@ -19,4 +19,5 @@
 
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.Way;
 
 /**
@@ -136,4 +137,27 @@
 	}
 	
+	/**
+	 * Returns true, if the street node contains disconnected segments. This is usually
+	 * an indication, that the data set contains two streets with same name, but e. g. in 
+	 * different cities.
+	 * @return
+	 */
+	public boolean hasDisconnectedSegments() {
+		for (INodeEntity ne1 : children) {
+			if (!(ne1 instanceof StreetSegmentNode)) continue;
+			Way w1 = (Way)ne1.getOsmObject();
+			for (INodeEntity ne2 : children) {
+				if (!(ne2 instanceof StreetSegmentNode) || ne1 == ne2) continue;
+				
+				Way w2 = (Way)ne1.getOsmObject();
+				if (!WayUtils.areWaysConnected(w1, w2)) {
+					return true;
+				}
+			}
+		}
+		
+		return false;
+	}
+	
 	/* (non-Javadoc)
 	 * @see org.openstreetmap.josm.plugins.addressEdit.NodeEntityBase#toString()
Index: /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/WayUtils.java
===================================================================
--- /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/WayUtils.java	(revision 23854)
+++ /applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/WayUtils.java	(revision 23854)
@@ -0,0 +1,38 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under 
+ * the terms of the GNU General Public License as published by the 
+ * Free Software Foundation, either version 3 of the License, or 
+ * (at your option) any later version. 
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+ * See the GNU General Public License for more details. 
+ * 
+ * You should have received a copy of the GNU General Public License along with this program. 
+ * If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.openstreetmap.josm.plugins.addressEdit;
+
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.Way;
+
+public class WayUtils {
+	/**
+	 * Checks, if two ways are connected. This is the case, if the first way
+	 * shares one node with the second way.
+	 * @param w1 The first way.
+	 * @param w2 The second way.
+	 * @return
+	 */
+	public static boolean areWaysConnected(Way w1, Way w2) {
+		if (w1 == null || w2 == null) return false;
+		
+		for (Node n1 : w1.getNodes()) {
+			if (w2.containsNode(n1)) {
+				return true;
+			}
+		}
+		
+		return false;
+	}
+}
