Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java	(revision 9992)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java	(revision 9993)
@@ -460,5 +460,5 @@
     }
 
-    void addMembersAtIndex(final Iterable<RelationMember> newMembers, final int index) {
+    void addMembersAtIndexKeepingOldSelection(final Iterable<RelationMember> newMembers, final int index) {
         int idx = index;
         for (RelationMember member : newMembers) {
@@ -466,5 +466,7 @@
         }
         invalidateConnectionType();
+        final List<Integer> selection = getSelectedIndices();
         fireTableRowsInserted(index, idx - 1);
+        setSelectedMembersIdx(selection);
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTransferHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTransferHandler.java	(revision 9992)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTransferHandler.java	(revision 9993)
@@ -107,5 +107,5 @@
             }
         }
-        destination.getMemberTableModel().addMembersAtIndex(membersToAdd, insertRow);
+        destination.getMemberTableModel().addMembersAtIndexKeepingOldSelection(membersToAdd, insertRow);
     }
 
