Index: applications/editors/josm/plugins/mappaint/build.xml
===================================================================
--- applications/editors/josm/plugins/mappaint/build.xml	(revision 2689)
+++ applications/editors/josm/plugins/mappaint/build.xml	(revision 2708)
@@ -19,6 +19,6 @@
 
 	<target name="build" depends="compile">
-		<copy todir="build/images">
-			<fileset dir="images"></fileset>
+		<copy todir="build/standard/icons">
+			<fileset dir="styles/standard/icons"></fileset>
 		</copy>
 		<jar destfile="dist/mappaint.jar" basedir="build">
Index: applications/editors/josm/plugins/mappaint/src/mappaint/ElemStyleHandler.java
===================================================================
--- applications/editors/josm/plugins/mappaint/src/mappaint/ElemStyleHandler.java	(revision 2689)
+++ applications/editors/josm/plugins/mappaint/src/mappaint/ElemStyleHandler.java	(revision 2708)
@@ -1,4 +1,5 @@
 package mappaint;
 
+import java.io.File;
 import java.awt.Color;
 import java.awt.Toolkit;
@@ -8,4 +9,5 @@
 
 import org.openstreetmap.josm.tools.ColorHelper;
+import org.openstreetmap.josm.plugins.Plugin;
 import org.xml.sax.Attributes;
 import org.xml.sax.helpers.DefaultHandler;
@@ -96,6 +98,18 @@
                 {
                     if(atts.getQName(count).equals("src")) {
-                        URL path = getClass().getResource("/images/nodes/"+atts.getValue(count));
-                        curIcon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(path));
+												String imageFile = MapPaintPlugin.getIconsDir()+atts.getValue(count); 
+												File f = new File(imageFile);
+												if (f.exists()){
+													//open icon from user directory
+                        	curIcon = new ImageIcon(imageFile);
+												} else {
+													URL path = getClass().getResource("/standard/icons/"+atts.getValue(count));
+													if (path != null ) {
+														curIcon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(path));
+													} else{
+														path = getClass().getResource("/standard/icons/amenity.png");
+														curIcon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(path));
+													}
+												}
                     } else if (atts.getQName(count).equals("annotate"))
                         curAnnotate = Boolean.parseBoolean
Index: applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintPlugin.java
===================================================================
--- applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintPlugin.java	(revision 2689)
+++ applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintPlugin.java	(revision 2708)
@@ -16,6 +16,13 @@
 
 	public static ElemStyles elemStyles = new ElemStyles();
+	
+	public static String iconsDir;
+
+	public static String getIconsDir(){
+		return iconsDir;
+	}
 
 	public MapPaintPlugin() {
+		iconsDir = getPluginDir()+"icons/"; //some day we will support diferent icon directories over options
 		String elemStylesFile = getPluginDir()+"elemstyles.xml";
 		File f = new File(elemStylesFile);
Index: applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintVisitor.java
===================================================================
--- applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintVisitor.java	(revision 2689)
+++ applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintVisitor.java	(revision 2708)
@@ -35,17 +35,15 @@
 	// Altered from SimplePaintVisitor
 	@Override public void visit(Node n) {
-		if (!n.shown) {
-			ElemStyle nodeStyle = MapPaintPlugin.elemStyles.getStyle(n);
-			if(nodeStyle!=null && Main.map.mapView.zoom()>=nodeStyle.getMinZoom()){
-				if(nodeStyle instanceof IconElemStyle) {
-					drawNode(n, ((IconElemStyle)nodeStyle).getIcon());
-				} else {
-					// throw some sort of exception
-				}
+		ElemStyle nodeStyle = MapPaintPlugin.elemStyles.getStyle(n);
+		if(nodeStyle!=null && Main.map.mapView.zoom()>=nodeStyle.getMinZoom()){
+			if(nodeStyle instanceof IconElemStyle) {
+				drawNode(n, ((IconElemStyle)nodeStyle).getIcon());
 			} else {
-				drawNode(n, n.selected ? getPreferencesColor("selected",
-										Color.YELLOW)
-					: getPreferencesColor("node", Color.RED));
-			}
+				// throw some sort of exception
+			}
+		} else {
+			drawNode(n, n.selected ? getPreferencesColor("selected",
+									Color.YELLOW)
+				: getPreferencesColor("node", Color.RED));
 		}
 	}
@@ -135,6 +133,4 @@
 	// NEW
 	protected void drawNode(Node n, ImageIcon icon) {
-		if (n.shown) return;
-		n.shown=true;
 		Point p = nc.getPoint(n.eastNorth);
 		if ((p.x < 0) || (p.y < 0) || (p.x > nc.getWidth()) || (p.y > nc.getHeight())) return;
@@ -221,8 +217,4 @@
 				osm.shown=false;
 
-		for (final OsmPrimitive osm : data.nodes)
-			if (!osm.deleted)
-				osm.shown=false;
-				
 		for (final OsmPrimitive osm : data.ways)
 			if (!osm.deleted && MapPaintPlugin.elemStyles.isArea(osm))
Index: applications/editors/josm/plugins/mappaint/styles/elemstyles.xml
===================================================================
--- applications/editors/josm/plugins/mappaint/styles/elemstyles.xml	(revision 2689)
+++ 	(revision )
@@ -1,248 +1,0 @@
-<rules>
-<!-- highway tags -->
-	<rule>
-		<condition k="highway" v="footway"/>
-		<line width="1" colour="#00ff00" />
-	</rule>
-
-	<rule>
-		<condition k="highway" v="bridleway"/>
-		<line width="1" colour="#c08000" />
-	</rule>
-
-	<rule>
-		<condition k="highway" v="unsurfaced"/>
-		<line width="1" colour="#ff0000" />
-	</rule>
-
-	<rule>
-		<condition k="highway" v="primary"/>
-		<line width="3" colour="#fb805f"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="primary_link"/>
-		<line width="3" colour="#fb805f"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="secondary"/>
-		<line width="3" colour="#fdbf6f"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="motorway"/>
-		<line width="3" colour="#809bc0"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="motorway_link"/>
-		<line width="3" colour="#809bc0"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="trunk"/>
-		<line width="3" colour="#7fc97f"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="cycleway"/>
-		<line width="1" colour="#ff00ff"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="unclassified"/>
-		<line width="2" colour="#c0c0c0"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="residential"/>
-		<line width="2" colour="#c0c0c0"/>
-	</rule>
-
-	<rule>
-		<condition k="highway" v="pedestrian"/>
-		<line width="1" colour="#aaaaaa"/>
-	</rule>
-
-<!--waterway tags -->
-	<rule>
-		<condition k="waterway" v="river"/>
-		<line width="2" colour="#0000ff" />
-	</rule>
-
-	<rule>
-		<condition k="waterway" v="canal"/>
-		<line width="2" colour="#0000ff" />
-	</rule>
-
-	<rule>
-		<condition k="waterway" v="riverbank"/>
-		<line widht="1" colour="#0000ff"/>
-	</rule>
-
-
-	<rule>
-		<condition k="natural" v="coastline"/>
-		<line width="1" colour="#0000ff"/>
-	</rule>
-
-<!-- railway tags -->
-<rule>
-<condition k="railway" v="rail"/>
-<line width="2" colour="#808080"/>
-</rule>
-
-<rule>
-<condition k="railway" v="station" />
-<icon annotate="true" src="station.png" />
-</rule>
-
-<rule>
-<condition k="railway" v="level_crossing" />
-<icon annotate="true" src="crossing.png" />
-</rule>
-
-
-<rule>
-<condition k="man_made" v="mast" />
-<icon annotate="true" src="mast.png" />
-</rule>
-
-<rule>
-<condition k="amenity" v="parking" />
-<icon annotate="true" src="carpark.png" />
-</rule>
-
-<rule>
-<condition k="amenity" v="point of interest" />
-<icon annotate="true" src="interest.png" />
-</rule>
-
-<rule>
-<condition k="tourism" v="attraction" />
-<icon annotate="true" src="interest.png" />
-</rule>
-
-<rule>
-<condition k="amenity" v="caution" />
-<icon annotate="true" src="caution.png" />
-</rule>
-
-<rule>
-<condition k="amenity" v="tea shop" />
-<icon annotate="true" src="teashop.png" />
-</rule>
-
-<rule>
-<condition k="amenity" v="restaurant" />
-<icon annotate="true" src="restaurant.png" />
-</rule>
-
-<rule>
-<condition k="class" v="campsite" />
-<icon annotate="true" src="campsite.png" />
-</rule>
-
-<rule>
-<condition k="tourism" v="camp_site" />
-<icon annotate="true" src="campsite.png" />
-</rule>
-
-
-<rule>
-<condition k="place" v="village" />
-<icon annotate="true" src="place.png" />
-</rule>
-
-<rule>
-<condition k="place" v="town" />
-<icon annotate="true" src="place.png" />
-</rule>
-
-<rule>
-<condition k="place" v="city" />
-<icon annotate="true" src="place.png" />
-</rule>
-
-<rule>
-<condition k="place" v="hamlet" />
-<icon annotate="true" src="place.png" />
-</rule>
-
-<rule>
-<condition k="place" v="suburb" />
-<icon annotate="true" src="place.png" />
-</rule>
-
-<rule>
-<condition k="landuse" v="wood"/>
-<area colour="#b1efc8" />
-</rule>
-
-<rule>
-<condition k="landuse" v="forest"/>
-<area colour="#b1efc8" />
-</rule>
-
-<rule>
-<condition k="landuse" v="cemetery"/>
-<line widht="1" colour="#bde3cb"/>
-</rule>
-
-<rule>
-<condition k="landuse" v="residential"/>
-<area colour="#f0f0f0"/>
-</rule>
-
-<rule>
-<condition k="landuse" v="industrial"/>
-<area colour="#ecd8ff"/>
-</rule>
-
-<rule>
-<condition k="natural" v="heath"/>
-<line widht="1" colour="#ffffc0"/>
-</rule>
-
-<rule>
-<condition k="natural" v="water"/>
-<area colour="#0000ff"/>
-</rule>
-
-<rule>
-<condition k="leisure" v="park"/>
-<area colour="#c7f1a3"/>
-</rule>
-
-<rule>
-<condition k="sport" v="soccer" />
-<area colour="#bde3cb"/>
-</rule>
-
-
-<rule>
-<condition k="natural" v="peak" />
-<icon annotate="true" src="peak_small.png"  />
-</rule>
-
-<rule>
-<condition k="amenity" v="farm" />
-<icon annotate="true" src="farm.png"  />
-</rule>
-
-<rule>
-<condition k="amenity" v="pub" />
-<icon annotate="true" src="pub.png"  />
-</rule>
-
-<rule>
-<condition k="amenity" v="viewpoint" />
-<icon annotate="true" src="viewpoint.png"  />
-</rule>
-
-<rule>
-<condition k="amenity" v="place_of_worship" />
-<icon annotate="true" src="church.png" />
-</rule>
-</rules>
Index: applications/editors/josm/plugins/mappaint/styles/standard/elemstyles.xml
===================================================================
--- applications/editors/josm/plugins/mappaint/styles/standard/elemstyles.xml	(revision 2708)
+++ applications/editors/josm/plugins/mappaint/styles/standard/elemstyles.xml	(revision 2708)
@@ -0,0 +1,248 @@
+<rules>
+<!-- highway tags -->
+	<rule>
+		<condition k="highway" v="footway"/>
+		<line width="1" colour="#00ff00" />
+	</rule>
+
+	<rule>
+		<condition k="highway" v="bridleway"/>
+		<line width="1" colour="#c08000" />
+	</rule>
+
+	<rule>
+		<condition k="highway" v="unsurfaced"/>
+		<line width="1" colour="#ff0000" />
+	</rule>
+
+	<rule>
+		<condition k="highway" v="primary"/>
+		<line width="3" colour="#fb805f"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="primary_link"/>
+		<line width="3" colour="#fb805f"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="secondary"/>
+		<line width="3" colour="#fdbf6f"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="motorway"/>
+		<line width="3" colour="#809bc0"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="motorway_link"/>
+		<line width="3" colour="#809bc0"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="trunk"/>
+		<line width="3" colour="#7fc97f"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="cycleway"/>
+		<line width="1" colour="#ff00ff"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="unclassified"/>
+		<line width="2" colour="#c0c0c0"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="residential"/>
+		<line width="2" colour="#c0c0c0"/>
+	</rule>
+
+	<rule>
+		<condition k="highway" v="pedestrian"/>
+		<line width="1" colour="#aaaaaa"/>
+	</rule>
+
+<!--waterway tags -->
+	<rule>
+		<condition k="waterway" v="river"/>
+		<line width="2" colour="#0000ff" />
+	</rule>
+
+	<rule>
+		<condition k="waterway" v="canal"/>
+		<line width="2" colour="#0000ff" />
+	</rule>
+
+	<rule>
+		<condition k="waterway" v="riverbank"/>
+		<line widht="1" colour="#0000ff"/>
+	</rule>
+
+
+	<rule>
+		<condition k="natural" v="coastline"/>
+		<line width="1" colour="#0000ff"/>
+	</rule>
+
+<!-- railway tags -->
+<rule>
+<condition k="railway" v="rail"/>
+<line width="2" colour="#808080"/>
+</rule>
+
+<rule>
+<condition k="railway" v="station" />
+<icon annotate="true" src="station.png" />
+</rule>
+
+<rule>
+<condition k="railway" v="level_crossing" />
+<icon annotate="true" src="crossing.png" />
+</rule>
+
+
+<rule>
+<condition k="man_made" v="mast" />
+<icon annotate="true" src="mast.png" />
+</rule>
+
+<rule>
+<condition k="amenity" v="parking" />
+<icon annotate="true" src="carpark.png" />
+</rule>
+
+<rule>
+<condition k="amenity" v="point of interest" />
+<icon annotate="true" src="interest.png" />
+</rule>
+
+<rule>
+<condition k="tourism" v="attraction" />
+<icon annotate="true" src="interest.png" />
+</rule>
+
+<rule>
+<condition k="amenity" v="caution" />
+<icon annotate="true" src="caution.png" />
+</rule>
+
+<rule>
+<condition k="amenity" v="tea shop" />
+<icon annotate="true" src="teashop.png" />
+</rule>
+
+<rule>
+<condition k="amenity" v="restaurant" />
+<icon annotate="true" src="restaurant.png" />
+</rule>
+
+<rule>
+<condition k="class" v="campsite" />
+<icon annotate="true" src="campsite.png" />
+</rule>
+
+<rule>
+<condition k="tourism" v="camp_site" />
+<icon annotate="true" src="campsite.png" />
+</rule>
+
+
+<rule>
+<condition k="place" v="village" />
+<icon annotate="true" src="place.png" />
+</rule>
+
+<rule>
+<condition k="place" v="town" />
+<icon annotate="true" src="place.png" />
+</rule>
+
+<rule>
+<condition k="place" v="city" />
+<icon annotate="true" src="place.png" />
+</rule>
+
+<rule>
+<condition k="place" v="hamlet" />
+<icon annotate="true" src="place.png" />
+</rule>
+
+<rule>
+<condition k="place" v="suburb" />
+<icon annotate="true" src="place.png" />
+</rule>
+
+<rule>
+<condition k="landuse" v="wood"/>
+<area colour="#b1efc8" />
+</rule>
+
+<rule>
+<condition k="landuse" v="forest"/>
+<area colour="#b1efc8" />
+</rule>
+
+<rule>
+<condition k="landuse" v="cemetery"/>
+<line widht="1" colour="#bde3cb"/>
+</rule>
+
+<rule>
+<condition k="landuse" v="residential"/>
+<area colour="#f0f0f0"/>
+</rule>
+
+<rule>
+<condition k="landuse" v="industrial"/>
+<area colour="#ecd8ff"/>
+</rule>
+
+<rule>
+<condition k="natural" v="heath"/>
+<line widht="1" colour="#ffffc0"/>
+</rule>
+
+<rule>
+<condition k="natural" v="water"/>
+<area colour="#0000ff"/>
+</rule>
+
+<rule>
+<condition k="leisure" v="park"/>
+<area colour="#c7f1a3"/>
+</rule>
+
+<rule>
+<condition k="sport" v="soccer" />
+<area colour="#bde3cb"/>
+</rule>
+
+
+<rule>
+<condition k="natural" v="peak" />
+<icon annotate="true" src="peak_small.png"  />
+</rule>
+
+<rule>
+<condition k="amenity" v="farm" />
+<icon annotate="true" src="farm.png"  />
+</rule>
+
+<rule>
+<condition k="amenity" v="pub" />
+<icon annotate="true" src="pub.png"  />
+</rule>
+
+<rule>
+<condition k="amenity" v="viewpoint" />
+<icon annotate="true" src="viewpoint.png"  />
+</rule>
+
+<rule>
+<condition k="amenity" v="place_of_worship" />
+<icon annotate="true" src="church.png" />
+</rule>
+</rules>
