Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 19868)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/JMapViewer.java	(revision 19870)
@@ -494,12 +494,19 @@
         if (mapMarkersVisible && mapMarkerList != null) {
             for (MapMarker marker : mapMarkerList) {
-                Point p = getMapPosition(marker.getLat(), marker.getLon());
-                if (p != null) {
-                    marker.paint(g, p);
-                }
+                paintMarker(g, marker);
             }
         }
     }
 
+    /**
+     * Paint a single marker.
+     */
+    protected void paintMarker(Graphics g, MapMarker marker) {
+        Point p = getMapPosition(marker.getLat(), marker.getLon());
+        if (p != null) {
+            marker.paint(g, p);
+        }
+    }
+    
     /**
      * Moves the visible map pane.
@@ -626,4 +633,9 @@
     public void addMapMarker(MapMarker marker) {
         mapMarkerList.add(marker);
+        repaint();
+    }
+
+    public void removeMapMarker(MapMarker marker) {
+        mapMarkerList.remove(marker);
         repaint();
     }
