Index: applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/UnselectNodesAction.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/UnselectNodesAction.java	(revision 25836)
+++ applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/UnselectNodesAction.java	(revision 25836)
@@ -0,0 +1,53 @@
+// License: GPL. Copyright 2011 by Alexei Kasatkin and Martin Ždila
+package utilsplugin2;
+
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.util.Collection;
+import java.util.Set;
+import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.osm.*;
+
+import org.openstreetmap.josm.tools.Shortcut;
+
+/**
+ *    Unselects all nodes
+ */
+class UnselectNodesAction extends JosmAction {
+
+    
+    public UnselectNodesAction() {
+        super(tr("Unselect nodes"), "unsnodes",
+                tr("Removes all nodes from selection"),
+                Shortcut.registerShortcut("tools:unsnodes", tr("Tool: {0}","Unselect nodes"),
+                KeyEvent.VK_U, Shortcut.GROUP_MNEMONIC,KeyEvent.ALT_MASK  ), true);
+        putValue("help", ht("/Action/UnselectNodes"));
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        Collection<OsmPrimitive> selection = getCurrentDataSet().getSelected();
+        Set<Node> selectedNodes = OsmPrimitive.getFilteredSet(selection, Node.class);
+        getCurrentDataSet().clearSelection(selectedNodes);
+    }
+
+    @Override
+    protected void updateEnabledState() {
+        if (getCurrentDataSet() == null) {
+            setEnabled(false);
+        } else {
+            updateEnabledState(getCurrentDataSet().getSelected());
+        }
+    }
+
+    @Override
+    protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
+        if (selection == null) {
+            setEnabled(false);
+            return;
+        }
+        setEnabled(!selection.isEmpty());
+    }
+}
Index: applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/UtilsPlugin2.java
===================================================================
--- applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/UtilsPlugin2.java	(revision 25817)
+++ applications/editors/josm/plugins/utilsplugin2/src/utilsplugin2/UtilsPlugin2.java	(revision 25836)
@@ -19,4 +19,5 @@
     JMenuItem selectWayNodes;
     JMenuItem adjNodes;
+    JMenuItem unsNodes;
     JMenuItem adjWays;
     JMenuItem adjWaysAll;
@@ -35,4 +36,5 @@
         selectWayNodes = MainMenu.add(m1, new SelectWayNodesAction());
         adjNodes = MainMenu.add(m1, new AdjacentNodesAction());
+        unsNodes = MainMenu.add(m1, new UnselectNodesAction());
         adjWays = MainMenu.add(m1, new AdjacentWaysAction());
         adjWaysAll = MainMenu.add(m1, new ConnectedWaysAction());
@@ -50,4 +52,5 @@
         selectWayNodes.setEnabled(enabled);
         adjNodes.setEnabled(enabled);
+        unsNodes.setEnabled(enabled);
         adjWays.setEnabled(enabled);
         adjWaysAll.setEnabled(enabled);
