Index: trunk/src/org/openstreetmap/josm/command/SplitWayCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/SplitWayCommand.java	(revision 16241)
+++ trunk/src/org/openstreetmap/josm/command/SplitWayCommand.java	(revision 16242)
@@ -473,5 +473,5 @@
             List<RelationMember> relationMembers = r.getMembers();
             for (RelationMember rm : relationMembers) {
-                if (rm.isWay() && rm.getMember() == way) {
+                if (rm.getMember() == way) {
                     boolean insert = true;
                     if (relationSpecialTypes.containsKey(type) && "restriction".equals(relationSpecialTypes.get(type))) {
@@ -542,4 +542,20 @@
                                     direction = Direction.IRRELEVANT;
                                 }
+                                if (direction == Direction.UNKNOWN && (!way.firstNode().isOutsideDownloadArea()
+                                        || way.lastNode().isOutsideDownloadArea())) {
+                                    // check if any other complete way in the relation is connected to the way
+                                    // if so, the order of the relation is broken
+                                    for (int i = 0; i < r.getMembersCount(); i++) {
+                                        if (i >= ir - 1 && i <= ir + 1)
+                                            continue;
+                                        RelationMember rmTest = r.getMember(i);
+                                        if (rmTest.isWay() && !rmTest.getMember().isIncomplete() &&
+                                            (way.isFirstLastNode(rmTest.getWay().firstNode())
+                                                    || way.isFirstLastNode(rm.getWay().lastNode()))) {
+                                                direction = Direction.IRRELEVANT;
+                                                break;
+                                        }
+                                    }
+                                }
                             }
                         } else {
