Index: src/org/openstreetmap/josm/command/SplitWayCommand.java
===================================================================
--- src/org/openstreetmap/josm/command/SplitWayCommand.java	(revision 16754)
+++ src/org/openstreetmap/josm/command/SplitWayCommand.java	(working copy)
@@ -360,7 +360,7 @@
             if (!relationAnalysis.needsMoreMembers()) continue;
 
             Relation relation = relationAnalysis.getRelation();
-            int position = relationAnalysis.getPosition();
+            int position = relationAnalysis.getPositionInOrig();
             int membersCount = relation.getMembersCount();
 
             // Mark the neighbouring members for downloading if these are ways too.
@@ -584,7 +584,7 @@
                                 && relationMembers.size() > 1
                                 && r.hasIncompleteMembers();
 
-                        relationAnalyses.add(new RelationAnalysis(c, rm, direction, needsMoreMembers, ic));
+                        relationAnalyses.add(new RelationAnalysis(c, rm, direction, needsMoreMembers, ic, ir));
                         ic += indexOfWayToKeep;
                     }
                 }
@@ -919,17 +919,20 @@
         private final Direction direction;
         private final boolean needsMoreMembers;
         private final int position;
+        private final int positionInOrig;
 
         RelationAnalysis(Relation relation,
                                 RelationMember relationMember,
                                 Direction direction,
                                 boolean needsMoreMembers,
-                                int position) {
+                                int position,
+                                int positionInOrig) {
             this.relation = relation;
             this.relationMember = relationMember;
             this.direction = direction;
             this.needsMoreMembers = needsMoreMembers;
             this.position = position;
+            this.positionInOrig = positionInOrig;
         }
 
         RelationMember getRelationMember() {
@@ -951,6 +954,10 @@
         int getPosition() {
             return position;
         }
+
+        public int getPositionInOrig() {
+            return positionInOrig;
+        }
     }
 
     enum Direction {
