Index: trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 1999)
+++ trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 2000)
@@ -204,9 +204,15 @@
         remember(relation.id, OsmPrimitiveType.RELATION);
         for (RelationMember member : relation.getMembers()) {
+            if (OsmPrimitiveType.from(member.member).equals(OsmPrimitiveType.RELATION)) {
+                // avoid infinite recursion in case of cyclic dependencies in relations
+                //
+                if (relations.contains(member.member.id)) {
+                    continue;
+                }
+            }
             appendGeneric(member.getMember());
         }
         return this;
     }
-
 
     protected MultiFetchServerObjectReader appendGeneric(OsmPrimitive primitive) {
