Index: applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/dumbutils/PasteRelationsAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/dumbutils/PasteRelationsAction.java	(revision 26801)
+++ applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/dumbutils/PasteRelationsAction.java	(revision 26804)
@@ -55,5 +55,5 @@
             boolean changed = false;
             for( OsmPrimitive p : selection ) {
-                if( !r.getMemberPrimitives().contains(p) ) {
+                if( !r.getMemberPrimitives().contains(p) && !r.equals(p) ) {
                     r.addMember(new RelationMember(relations.get(rel), p));
                     changed = true;
Index: applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/dumbutils/ReplaceGeometryAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/dumbutils/ReplaceGeometryAction.java	(revision 26801)
+++ applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/dumbutils/ReplaceGeometryAction.java	(revision 26804)
@@ -32,4 +32,5 @@
     }
 
+    @Override
     public void actionPerformed( ActionEvent e ) {
         if( getCurrentDataSet() == null ) return;
@@ -43,7 +44,20 @@
         }
         int idxNew = selection.get(0).isNew() ? 0 : 1;
+	boolean overrideNewCheck = false;
+	if( selection.get(1-idxNew).isNew() ) {
+	    // if both are new, select the one with all the DB nodes
+	    boolean areNewNodes = false;
+	    for( Node n : selection.get(0).getNodes() )
+		if( n.isNew() )
+		    areNewNodes = true;
+	    idxNew = areNewNodes ? 0 : 1;
+	    overrideNewCheck = true;
+	    for( Node n : selection.get(1-idxNew).getNodes() )
+		if( n.isNew() )
+		    overrideNewCheck = false;
+	}
         Way geometry = selection.get(idxNew);
         Way way = selection.get(1 - idxNew);
-        if( way.isNew() || !geometry.isNew() ) {
+        if( !overrideNewCheck && (way.isNew() || !geometry.isNew()) ) {
             JOptionPane.showMessageDialog(Main.parent,
                     tr("Please select one way that exists in the database and one new way with correct geometry."),
