Index: /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java
===================================================================
--- /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 29036)
+++ /applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 29037)
@@ -174,7 +174,19 @@
         }
 
+        Relation associatedStreet = null;
+
+        // Try to find an associatedStreet relation that could be reused from outline.
+        for (OsmPrimitive p : outline.getReferrers()) {
+            if (p instanceof Relation) {
+                Relation rel = (Relation) p;
+                if ("associatedStreet".equals(rel.get("type"))) {
+                    associatedStreet = rel;
+                    break;
+                }
+            }
+        }
+        
         // If we have a street, try to find an associatedStreet relation that could be reused.
-        Relation associatedStreet = null;
-        if (street != null) {
+        if (associatedStreet == null && street != null) {
             outer:for (OsmPrimitive osm : Main.main.getCurrentDataSet().allNonDeletedPrimitives()) {
                 if (!(osm instanceof Relation)) continue;
@@ -438,4 +450,7 @@
                     newAssociatedStreet.addMember(new RelationMember("house", w));
                 }
+                if (deleteOutline) {
+                    newAssociatedStreet.removeMembersFor(outline);
+                }
                 this.commands.add(new ChangeCommand(associatedStreet, newAssociatedStreet));
             }
