Index: trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 2026)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java	(revision 2027)
@@ -306,5 +306,5 @@
     void membershipEdit(int row) {
         Relation relation = (Relation)membershipData.getValueAt(row, 0);
-        Main.main.map.relationListDialog.selectRelation(relation);
+        Main.map.relationListDialog.selectRelation(relation);
         RelationEditor.getEditor(
                 Main.map.mapView.getEditLayer(),
@@ -474,5 +474,5 @@
                             c.setFont(c.getFont().deriveFont(Font.ITALIC));
                         } else {
-                            final Map.Entry entry = (Map.Entry) v.entrySet().iterator().next(); 
+                            final Map.Entry entry = (Map.Entry) v.entrySet().iterator().next();
                             str = (String) entry.getKey();
                         }
@@ -751,5 +751,5 @@
         if (Main.main.getCurrentDataSet() != null) {
             for (Relation r : Main.main.getCurrentDataSet().relations) {
-                if (!r.deleted && !r.incomplete) {
+                if (!r.isDeleted() && !r.incomplete) {
                     for (RelationMember m : r.getMembers()) {
                         if (newSelection.contains(m.getMember())) {
@@ -842,14 +842,6 @@
             Relation rel = new Relation(cur);
             Collection<OsmPrimitive> sel = Main.main.getCurrentDataSet().getSelected();
-            int index = 0;
-            for (RelationMember rm : cur.getMembers()) {
-                for (OsmPrimitive osm : sel) {
-                    if (rm.getMember() == osm)
-                    {
-                        rel.removeMember(index);
-                        break;
-                    }
-                }
-                index++;
+            for (OsmPrimitive primitive: sel) {
+                rel.removeMembersFor(primitive);
             }
             Main.main.undoRedo.add(new ChangeCommand(cur, rel));
