Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 1851)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 1852)
@@ -419,4 +419,7 @@
                 while(! relationsToDownload.isEmpty() && !cancelled) {
                     Relation r = relationsToDownload.pop();
+                    if (r.id == 0) {
+                        continue;
+                    }
                     rememberChildRelationsToDownload(r);
                     progressMonitor.setCustomText(tr("Downloading relation {0}", nameFormatter.getName(r)));
@@ -514,4 +517,24 @@
         }
 
+        protected void mergeDataSet(DataSet dataSet) {
+            if (dataSet != null) {
+                final MergeVisitor visitor = new MergeVisitor(getLayer().data, dataSet);
+                visitor.merge();
+                // FIXME: this is necessary because there are dialogs listening
+                // for DataChangeEvents which manipulate Swing components on this
+                // thread.
+                //
+                SwingUtilities.invokeLater(new Runnable() {
+                    public void run() {
+                        getLayer().fireDataChange();
+                    }
+                });
+                if (!visitor.getConflicts().isEmpty()) {
+                    getLayer().getConflicts().add(visitor.getConflicts());
+                    conflictsCount +=  visitor.getConflicts().size();
+                }
+            }
+        }
+
         @Override
         protected void realRun() throws SAXException, IOException, OsmTransferException {
@@ -521,4 +544,7 @@
                 while(it.hasNext() && !cancelled) {
                     Relation r = it.next();
+                    if (r.id == 0) {
+                        continue;
+                    }
                     progressMonitor.setCustomText(tr("Downloading relation {0}", nameFormatter.getName(r)));
                     OsmServerObjectReader reader = new OsmServerObjectReader(r.id, OsmPrimitiveType.RELATION,
@@ -526,21 +552,5 @@
                     DataSet dataSet = reader.parseOsm(progressMonitor
                             .createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
-                    if (dataSet != null) {
-                        final MergeVisitor visitor = new MergeVisitor(getLayer().data, dataSet);
-                        visitor.merge();
-                        // FIXME: this is necessary because there are dialogs listening
-                        // for DataChangeEvents which manipulate Swing components on this
-                        // thread.
-                        //
-                        SwingUtilities.invokeLater(new Runnable() {
-                            public void run() {
-                                getLayer().fireDataChange();
-                            }
-                        });
-                        if (!visitor.getConflicts().isEmpty()) {
-                            getLayer().getConflicts().add(visitor.getConflicts());
-                            conflictsCount +=  visitor.getConflicts().size();
-                        }
-                    }
+                    mergeDataSet(dataSet);
                     refreshView(r);
                 }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 1851)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 1852)
@@ -161,8 +161,6 @@
         JTabbedPane tabbedPane = new JTabbedPane();
         tabbedPane.add(tr("Tags and Members"), pnl);
-        if (relation != null && relation.id > 0) {
-            referrerBrowser = new ReferringRelationsBrowser(getLayer(), referrerModel, this);
-            tabbedPane.add(tr("Parent Relations"), referrerBrowser);
-        }
+        referrerBrowser = new ReferringRelationsBrowser(getLayer(), referrerModel, this);
+        tabbedPane.add(tr("Parent Relations"), referrerBrowser);
         tabbedPane.add(tr("Child Relations"), new ChildRelationBrowser(getLayer(), relation));
         tabbedPane.addChangeListener(
