Index: trunk/src/org/openstreetmap/josm/gui/dialogs/RelationEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/RelationEditor.java	(revision 1553)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/RelationEditor.java	(revision 1554)
@@ -71,9 +71,4 @@
 
     /**
-     * True if the relation is ordered (API 0.6). False for API 0.5.
-     */
-    boolean ordered;
-
-    /**
      * The property data.
      */
@@ -104,74 +99,4 @@
     private final JTable propertyTable = new JTable(propertyData);
     private final JTable memberTable = new JTable(memberData);
-
-    // =================== FIXME =====================
-    // As soon as API 0.5 is dead, drop all the collation stuff from here ...
-
-    /**
-     * Collator for sorting the roles and entries of the member table.
-     */
-    private static final Collator collator;
-    static {
-        collator = Collator.getInstance();
-        collator.setStrength(Collator.PRIMARY);
-    }
-
-    /**
-     * Compare role strings.
-     */
-    private static int compareRole(String s1, String s2) {
-        int last1 = s1.lastIndexOf('_');
-        if (last1 > 0) {
-            int last2 = s2.lastIndexOf('_');
-            if (last2 == last1) {
-                String prefix1 = s1.substring(0, last1);
-                String prefix2 = s2.substring(0, last2);
-
-                if (prefix1.equalsIgnoreCase(prefix2)) {
-                    // Both roles have the same prefix, now determine the
-                    // suffix.
-                    String suffix1 = s1.substring(last1 + 1, s1.length());
-                    String suffix2 = s2.substring(last2 + 1, s2.length());
-
-                    if (suffix1.matches("\\d+") && suffix2.matches("\\d+")) {
-                        // Suffix is an number -> compare it.
-                        int i1 = Integer.parseInt(suffix1);
-                        int i2 = Integer.parseInt(suffix2);
-
-                        return i1 - i2;
-                    }
-                }
-            }
-        }
-        if(s1.length() == 0 && s2.length() != 0)
-            return 1;
-        else if(s2.length() == 0 && s1.length() != 0)
-            return -1;
-
-        // Default handling if the role name is nothing like "stop_xx"
-        return collator.compare(s1, s2);
-    }
-
-
-    /**
-     * Compare two OsmPrimitives.
-     */
-    private static int compareMembers(OsmPrimitive o1, OsmPrimitive o2) {
-        return collator.compare(o1.getName(), o2.getName());
-    }
-
-    private final Comparator<RelationMember> memberComparator = new Comparator<RelationMember>() {
-        public int compare(RelationMember r1, RelationMember r2) {
-            int roleResult = compareRole(r1.role, r2.role);
-
-            if (roleResult == 0)
-                roleResult = compareMembers(r1.member, r2.member);
-
-            return roleResult;
-        }
-    };
-
-    // =================== FIXME FIXME FIXME =====================
-    // ... until here, and also get rid of the "Collections.sort..." below.
 
     // We need this twice, so cache result
@@ -214,5 +139,4 @@
 
         this.relation = relation;
-        ordered = !Main.pref.get("osm-server.version", "0.5").equals("0.5");
 
         if (relation == null) {
@@ -222,5 +146,4 @@
             // edit an existing relation
             this.clone = new Relation(relation);
-            if (!ordered) Collections.sort(this.clone.members, memberComparator);
         }
 
@@ -346,13 +269,11 @@
      */
     private JPanel setupBasicButtons() {
-        JPanel buttonPanel = new JPanel(new GridLayout(2,ordered ? 3 : 2));
-
-        if (ordered) {
-            buttonPanel.add(createButton(marktr("Move Up"), "moveup", tr("Move the currently selected members up"), KeyEvent.VK_N, new ActionListener() {
-                public void actionPerformed(ActionEvent e) {
-                    moveMembers(-1);
-                }
-            }));
-        }
+        JPanel buttonPanel = new JPanel(new GridLayout(2, 3));
+
+        buttonPanel.add(createButton(marktr("Move Up"), "moveup", tr("Move the currently selected members up"), KeyEvent.VK_N, new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                moveMembers(-1);
+            }
+        }));
 
         buttonPanel.add(createButton(marktr("Add Selected"),"addselected",
@@ -370,11 +291,9 @@
         }));
 
-        if(ordered) {
-            buttonPanel.add(createButton(marktr("Move Down"), "movedown", tr("Move the currently selected members down"), KeyEvent.VK_J, new ActionListener() {
-                public void actionPerformed(ActionEvent e) {
-                    moveMembers(1);
-                }
-            }));
-        }
+        buttonPanel.add(createButton(marktr("Move Down"), "movedown", tr("Move the currently selected members down"), KeyEvent.VK_J, new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                moveMembers(1);
+            }
+        }));
 
         buttonPanel.add(createButton(marktr("Remove"),"remove",
@@ -467,30 +386,16 @@
     private void addSelected() {
         for (OsmPrimitive p : Main.ds.getSelected()) {
-            boolean skip = false;
             // ordered relations may have the same member multiple times.
             // TODO: visual indication of the fact that one is there more than once?
-            if (!ordered)
-            {
-                for (RelationMember rm : clone.members) {
-                    if (rm.member == p || p == relation)
-                    {
-                        skip = true;
-                        break;
-                    }
-                }
-            }
-            if (!skip)
-            {
-                RelationMember em = new RelationMember();
-                em.member = p;
-                em.role = "";
-                // when working with ordered relations, we make an effort to
-                // add the element before the first selected member.
-                int[] rows = memberTable.getSelectedRows();
-                if (ordered && rows.length > 0) {
-                    clone.members.add(rows[0], em);
-                } else {
-                    clone.members.add(em);
-                }
+            RelationMember em = new RelationMember();
+            em.member = p;
+            em.role = "";
+            // when working with ordered relations, we make an effort to
+            // add the element before the first selected member.
+            int[] rows = memberTable.getSelectedRows();
+            if (rows.length > 0) {
+                clone.members.add(rows[0], em);
+            } else {
+                clone.members.add(em);
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 1553)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 1554)
@@ -38,5 +38,5 @@
  * delete them.
  *
- * We don't have such dialogs for nodes, segments, and ways, becaus those
+ * We don't have such dialogs for nodes, segments, and ways, because those
  * objects are visible on the map and can be selected there. Relations are not.
  *
