Index: trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 2884)
+++ trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 2885)
@@ -19,4 +19,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.history.HistoryNameFormatter;
@@ -197,5 +198,18 @@
 
             int mbno = relation.getMembersCount();
-            name += trn("{0} member", "{0} members", mbno, mbno) + ")";
+            name += trn("{0} member", "{0} members", mbno, mbno);
+
+            boolean incomplete = false;
+            for (RelationMember m : relation.getMembers()) {
+                if (m.getMember().isIncomplete()) {
+                    incomplete = true;
+                    break;
+                }
+            }
+            if (incomplete) {
+                name += ", "+tr("incomplete");
+            }
+
+            name += ")";
         }
         name = decorateNameWithId(name, relation);
Index: trunk/src/org/openstreetmap/josm/gui/OsmPrimitivRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/OsmPrimitivRenderer.java	(revision 2884)
+++ trunk/src/org/openstreetmap/josm/gui/OsmPrimitivRenderer.java	(revision 2885)
@@ -67,7 +67,7 @@
     private Component renderer(Component def, OsmPrimitive value) {
         if (def != null && value != null && def instanceof JLabel) {
-            ((JLabel)def).setText(value.getDisplayName(DefaultNameFormatter.getInstance()));
+            ((JLabel)def).setText(getComponentText(value));
             ((JLabel)def).setIcon(ImageProvider.get(value.getType()));
-            ((JLabel)def).setToolTipText(formatter.buildDefaultToolTip(value));
+            ((JLabel)def).setToolTipText(getComponentToolTipText(value));
         }
         return def;
@@ -89,3 +89,17 @@
         return def;
     }
+
+    /**
+     * Can be overridden to customize the Text
+     */
+    protected String getComponentText(OsmPrimitive value) {
+        return value.getDisplayName(DefaultNameFormatter.getInstance());
+    }
+
+    /**
+     * Can be overridden to customize the ToolTipText
+     */
+    protected String getComponentToolTipText(OsmPrimitive value) {
+        return formatter.buildDefaultToolTip(value);
+    }
 }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 2884)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 2885)
@@ -95,5 +95,13 @@
         displaylist = new JList(model);
         displaylist.setSelectionModel(selectionModel);
-        displaylist.setCellRenderer(new OsmPrimitivRenderer());
+        displaylist.setCellRenderer(new OsmPrimitivRenderer() {
+            /**
+             * Don't show the default tooltip in the relation list.
+             */
+            @Override
+            protected String getComponentToolTipText(OsmPrimitive value) {
+                return null;
+            }
+        });
         displaylist.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         displaylist.addMouseListener(new MouseEventHandler());
