Index: applications/editors/josm/plugins/ImproveWayAccuracy/build.xml
===================================================================
--- applications/editors/josm/plugins/ImproveWayAccuracy/build.xml	(revision 25909)
+++ applications/editors/josm/plugins/ImproveWayAccuracy/build.xml	(revision 25910)
@@ -103,7 +103,8 @@
 				<attribute name="Plugin-Class" value="org.openstreetmap.josm.plugins.iwa.IWAPlugin" />
 				<attribute name="Plugin-Date" value="${version.entry.commit.date}" />
+				<attribute name="Plugin-Icon" value="images/favicon.png" />
 				<attribute name="Plugin-Description" value="Can be useful when you are improving accuracy of existing ways. The idea of the plugin is to substitute dragging and dropping nodes with clicking to quicken the editing process." />
-				<attribute name="Plugin-Icon" value="images/favicon.png" />
 				<attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/ImproveWayAccuracy" />
+                <attribute name="ru_Plugin-Link" value="http://wiki.openstreetmap.org/wiki/RU:JOSM/Plugins/ImproveWayAccuracy" />
 				<attribute name="Plugin-Mainversion" value="${plugin.main.version}" />
 				<attribute name="Plugin-Version" value="${version.entry.commit.revision}" />
Index: applications/editors/josm/plugins/ImproveWayAccuracy/src/org/openstreetmap/josm/plugins/iwa/IWAMode.java
===================================================================
--- applications/editors/josm/plugins/ImproveWayAccuracy/src/org/openstreetmap/josm/plugins/iwa/IWAMode.java	(revision 25909)
+++ applications/editors/josm/plugins/ImproveWayAccuracy/src/org/openstreetmap/josm/plugins/iwa/IWAMode.java	(revision 25910)
@@ -89,4 +89,7 @@
 
     private final Color guideColor;
+    private final BasicStroke selectTargetWayStroke;
+    private final BasicStroke moveNodeStroke;
+    private final BasicStroke addNodeStroke;
 
     private boolean selectionChangedBlocked = false;
@@ -111,4 +114,11 @@
 
         guideColor = PaintColors.HIGHLIGHT.get();
+        selectTargetWayStroke = new BasicStroke(2, BasicStroke.CAP_ROUND,
+                BasicStroke.JOIN_ROUND);
+        float dash1[] = { 4.0f };
+        moveNodeStroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
+                BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f);
+        addNodeStroke = new BasicStroke(1, BasicStroke.CAP_BUTT,
+                BasicStroke.JOIN_MITER);
     }
 
@@ -216,6 +226,5 @@
             // Non-native highlighting is used, because sometimes highlighted
             // segments are covered with others, which is bad.
-            g.setStroke(new BasicStroke(2, BasicStroke.CAP_ROUND,
-                    BasicStroke.JOIN_ROUND));
+            g.setStroke(selectTargetWayStroke);
 
             List<Node> nodes = targetWay.getNodes();
@@ -239,13 +248,13 @@
             // that is going to be moved.
             // Non-native highlighting is used here as well.
-            g.setStroke(new BasicStroke(1, BasicStroke.CAP_ROUND,
-                    BasicStroke.JOIN_ROUND));
 
             // Finding endpoints
             Point p1 = null, p2 = null;
             if (candidateSegment != null) {
+                g.setStroke(addNodeStroke);
                 p1 = mv.getPoint(candidateSegment.getFirstNode());
                 p2 = mv.getPoint(candidateSegment.getSecondNode());
             } else if (candidateNode != null) {
+                g.setStroke(moveNodeStroke);
                 List<Pair<Node, Node>> wpps = targetWay.getNodePairs(false);
                 for (Pair<Node, Node> wpp : wpps) {
@@ -262,11 +271,11 @@
             GeneralPath b = new GeneralPath();
             if (p1 != null) {
-                b.moveTo(p1.x, p1.y);
-                b.lineTo(mousePos.x, mousePos.y);
-            } else {
                 b.moveTo(mousePos.x, mousePos.y);
-            }
-            if (p2 != null)
+                b.lineTo(p1.x, p1.y);
+            }
+            if (p2 != null) {
+                b.moveTo(mousePos.x, mousePos.y);
                 b.lineTo(p2.x, p2.y);
+            }
             g.draw(b);
 
@@ -415,4 +424,5 @@
         }
 
+        mousePos = null;
         updateCursor();
         updateStatusLine();
