Index: applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/PasteRelationsAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/PasteRelationsAction.java	(revision 31038)
+++ applications/editors/josm/plugins/utilsplugin2/src/org/openstreetmap/josm/plugins/utilsplugin2/actions/PasteRelationsAction.java	(revision 31040)
@@ -1,13 +1,24 @@
 package org.openstreetmap.josm.plugins.utilsplugin2.actions;
 
-import org.openstreetmap.josm.data.osm.*;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.command.*;
-import java.util.*;
-import java.awt.event.KeyEvent;
+import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.command.ChangeCommand;
+import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.PrimitiveData;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.RelationMember;
 import org.openstreetmap.josm.tools.Shortcut;
-import java.awt.event.ActionEvent;
-import org.openstreetmap.josm.actions.JosmAction;
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
@@ -33,18 +44,20 @@
         for( PrimitiveData pdata : Main.pasteBuffer.getDirectlyAdded() ) {
             OsmPrimitive p = getCurrentDataSet().getPrimitiveById(pdata.getUniqueId(), pdata.getType());
-            for( Relation r : OsmPrimitive.getFilteredList(p.getReferrers(), Relation.class)) {
-                String role = relations.get(r);
-                for( RelationMember m : r.getMembers() ) {
-                    if( m.getMember().equals(p) ) {
-                        String newRole = m.getRole();
-                        if( newRole != null && role == null )
-                            role = newRole;
-                        else if( newRole != null ? !newRole.equals(role) : role != null ) {
-                            role = "";
-                            break;
-                        }
-                    }
-                }
-                relations.put(r, role);
+            if (p != null) {
+	            for( Relation r : OsmPrimitive.getFilteredList(p.getReferrers(), Relation.class)) {
+	                String role = relations.get(r);
+	                for( RelationMember m : r.getMembers() ) {
+	                    if( m.getMember().equals(p) ) {
+	                        String newRole = m.getRole();
+	                        if( newRole != null && role == null )
+	                            role = newRole;
+	                        else if( newRole != null ? !newRole.equals(role) : role != null ) {
+	                            role = "";
+	                            break;
+	                        }
+	                    }
+	                }
+	                relations.put(r, role);
+	            }
             }
         }
@@ -56,5 +69,5 @@
             for( OsmPrimitive p : selection ) {
                 if( !r.getMemberPrimitives().contains(p) && !r.equals(p) ) {
-                    String role = relations.get(rel);              
+                    String role = relations.get(rel);
                     if ("associatedStreet".equals(r.get("type"))) {
                         if (p.get("highway") != null) {
