Index: build.xml
===================================================================
--- build.xml	(revision 35323)
+++ build.xml	(working copy)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<project name="terracer" default="dist" basedir=".">
+<project name="terracer2" default="dist" basedir=".">
     <property name="commit.message" value="applied #j5760 (patch by robome) - Order of housenumbers not correct"/>
     <property name="plugin.main.version" value="14153"/>
     <property name="plugin.author" value="Matt Amos"/>
@@ -7,6 +7,7 @@
     <property name="plugin.description" value="Make terraced houses out of single blocks."/>
     <property name="plugin.icon" value="images/terrace.png"/>
     <property name="plugin.link" value="https://wiki.openstreetmap.org/wiki/JOSM/Plugins/Terracer"/>
+	<property name="plugin.canloadatruntime" value="true"/>
 
     <!-- ** include targets that all plugins have in common ** -->
     <import file="../build-common.xml"/>
Index: src/org/openstreetmap/josm/plugins/terracer/TerracerPlugin.java
===================================================================
--- src/org/openstreetmap/josm/plugins/terracer/TerracerPlugin.java	(revision 35323)
+++ src/org/openstreetmap/josm/plugins/terracer/TerracerPlugin.java	(working copy)
@@ -1,10 +1,23 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.terracer;
 
+import java.awt.Component;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.stream.Collectors;
+
+import javax.swing.Action;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+
+import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
+import org.openstreetmap.josm.tools.Destroyable;
 
 /**
  * Plugin interface implementation for Terracer.
@@ -11,11 +24,28 @@
  *
  * @author zere - Copyright 2009 CloudMade Ltd
  */
-public class TerracerPlugin extends Plugin {
+public class TerracerPlugin extends Plugin implements Destroyable {
+	private List<JosmAction> actions = Arrays.asList(new TerracerAction(), new ReverseTerraceAction());
+	
     public TerracerPlugin(PluginInformation info) {
         super(info);
+        
+        for (JosmAction action : actions)
+        	MainMenu.add(MainApplication.getMenu().moreToolsMenu, action);
+    }
 
-        MainMenu.add(MainApplication.getMenu().moreToolsMenu, new TerracerAction());
-        MainMenu.add(MainApplication.getMenu().moreToolsMenu, new ReverseTerraceAction());
-    }
+	@Override
+	public void destroy() {
+        final JMenu moreToolsMenu = MainApplication.getMenu().moreToolsMenu;
+        final Map<Action, Component> actionsMap = Arrays.asList(moreToolsMenu.getMenuComponents()).stream()
+                .filter(JMenuItem.class::isInstance).map(JMenuItem.class::cast)
+                .collect(Collectors.toMap(JMenuItem::getAction, component -> component));
+
+        for (final Entry<Action, Component> action : actionsMap.entrySet()) {
+            if (actionsMap.containsKey(action.getKey())) {
+                moreToolsMenu.remove(action.getValue());
+            }
+        }
+		actions.forEach(JosmAction::destroy);
+	}
 }
