Index: applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 33030)
+++ applications/editors/josm/plugins/terracer/src/terracer/TerracerAction.java	(revision 33031)
@@ -371,5 +371,6 @@
             for (int i = 0; i < nb; ++i) {
                 final Way terr;
-                if (i > 0 || keepOutline) {
+                boolean createNewWay = i > 0 || keepOutline;
+                if (createNewWay) {
                     terr = new Way();
                     // add the tags of the outline to each building (e.g. source=*)
@@ -386,10 +387,12 @@
                 terr.addNode(newNodes[0][i]);
 
-                ways.add(addressBuilding(terr, street, streetName, associatedStreet, housenumbers, i,
-                        from != null ? Integer.toString(from + i * step) : null, buildingValue));
-
-                if (i > 0 || keepOutline) {
+                addressBuilding(terr, street, streetName, associatedStreet, housenumbers, i,
+                        from != null ? Integer.toString(from + i * step) : null, buildingValue);
+
+                if (createNewWay) {
+                    ways.add(terr);
                     this.commands.add(new AddCommand(terr));
                 } else {
+                    ways.add(outline);
                     this.commands.add(new ChangeCommand(outline, terr));
                 }
@@ -408,5 +411,6 @@
         } else {
             // Single building, just add the address details
-            ways.add(addressBuilding(outline, street, streetName, associatedStreet, housenumbers, 0, start, buildingValue));
+            addressBuilding(outline, street, streetName, associatedStreet, housenumbers, 0, start, buildingValue);
+            ways.add(outline);
         }
 
@@ -508,5 +512,5 @@
      * @throws UserCancelException
      */
-    private Way addressBuilding(Way outline, Way street, String streetName, Relation associatedStreet,
+    private void addressBuilding(Way outline, Way street, String streetName, Relation associatedStreet,
             List<Node> housenumbers, int i, String defaultNumber, String buildingValue) throws UserCancelException {
         Node houseNum = (housenumbers != null && i >= 0 && i < housenumbers.size()) ? housenumbers.get(i) : null;
@@ -541,5 +545,4 @@
             }
         }
-        return outline;
     }
 
