Index: applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/hack/MyRelationMemberConflictResolverModel.java
===================================================================
--- applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/hack/MyRelationMemberConflictResolverModel.java	(revision 30987)
+++ applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/hack/MyRelationMemberConflictResolverModel.java	(revision 30988)
@@ -30,5 +30,5 @@
         return NUM_CONFLICTS_PROP;
     }
-    
+
     @Override
     protected void populate(Relation relation, OsmPrimitive primitive) {
@@ -38,12 +38,13 @@
     /**
      * Populates the model with the members of the relation <code>relation</code>
-     * referring to <code>primitive</code>.
+     * referring to <code>way</code>.
      *
      * @param relation the parent relation
-     * @param primitive the child primitive
+     * @param way the child way
      */
-    protected void populate(Relation relation, OsmPrimitive primitive, Map<Way, Way> oldWays) {
+    protected void populate(Relation relation, Way way, Map<Way, Way> oldWays) {
         for (int i =0; i<relation.getMembersCount();i++) {
-            if (MergeOverlapAction.getOld(relation.getMember(i).getWay(), oldWays) == MergeOverlapAction.getOld((Way)primitive, oldWays)) {
+        	RelationMember mb = relation.getMember(i);
+            if (mb.isWay() && MergeOverlapAction.getOld(mb.getWay(), oldWays) == MergeOverlapAction.getOld(way, oldWays)) {
                 decisions.add(new RelationMemberConflictDecision(relation, i));
             }
@@ -62,13 +63,13 @@
      *
      * @param relations  the parent relations. Empty list assumed if null.
-     * @param memberPrimitives the child primitives. Empty list assumed if null.
+     * @param memberWays the child ways. Empty list assumed if null.
      */
-    public void populate(Collection<Relation> relations, Collection<? extends OsmPrimitive> memberPrimitives, Map<Way, Way> oldWays) {
+    public void populate(Collection<Relation> relations, Collection<Way> memberWays, Map<Way, Way> oldWays) {
         decisions.clear();
         relations = relations == null ? new LinkedList<Relation>() : relations;
-        memberPrimitives = memberPrimitives == null ? new LinkedList<OsmPrimitive>() : memberPrimitives;
+        memberWays = memberWays == null ? new LinkedList<Way>() : memberWays;
         for (Relation r : relations) {
-            for (OsmPrimitive p: memberPrimitives) {
-                populate(r, p, oldWays);
+            for (Way w : memberWays) {
+                populate(r, w, oldWays);
             }
         }
@@ -98,5 +99,5 @@
                 case KEEP:
                     if (newPrimitive instanceof Way) {
-                        modifiedRelation.addMember(new RelationMember(decision.getRole(), 
+                        modifiedRelation.addMember(new RelationMember(decision.getRole(),
                                 MergeOverlapAction.getOld((Way)newPrimitive, oldWays)));
                     } else {
