Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/FixTask.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/FixTask.java	(revision 32433)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/FixTask.java	(revision 32434)
@@ -73,5 +73,5 @@
 				@Override
 				public void run() {
-					Main.getLayerManager().getEditDataSet().beginUpdate();
+					Main.main.getCurrentDataSet().beginUpdate();
 				}
 			});
@@ -89,5 +89,5 @@
 					@Override
 					public void run() {
-						Main.getLayerManager().getEditDataSet().endUpdate();
+						Main.main.getCurrentDataSet().endUpdate();
 					}
 				});
@@ -100,5 +100,5 @@
 					Main.map.repaint();
 					// tree.resetErrors();
-					Main.getLayerManager().getEditDataSet().fireSelectionChanged();
+					Main.main.getCurrentDataSet().fireSelectionChanged();
 				}
 			});
Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayer.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayer.java	(revision 32433)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayer.java	(revision 32434)
@@ -1,4 +1,5 @@
 package org.openstreetmap.josm.plugins.pt_assistant.gui;
 
+import java.awt.Graphics;
 import java.awt.Graphics2D;
 import java.awt.KeyboardFocusManager;
@@ -32,8 +33,8 @@
 
 	private List<OsmPrimitive> primitives = new ArrayList<>();
+	private PTAssistantPaintVisitor paintVisitor;
 
 	public PTAssistantLayer() {
 		super("pt_assistant layer");
-
 		 KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener(this);
 
@@ -51,5 +52,5 @@
 	public void paint(final Graphics2D g, final MapView mv, Bounds bounds) {
 
-		PTAssistantPaintVisitor paintVisitor = new PTAssistantPaintVisitor(g, mv);
+		paintVisitor = new PTAssistantPaintVisitor(g, mv);
 		for (OsmPrimitive primitive : primitives) {
 			paintVisitor.visit(primitive);
@@ -103,4 +104,7 @@
 	}
 
+	/**
+	 * Listens to a selection change 
+	 */
 	@Override
 	public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
@@ -147,4 +151,5 @@
 				
 				if (RouteUtils.isTwoDirectionRoute(relation)) {
+
 					this.primitives.clear();
 					this.primitives.add(relation);
@@ -152,12 +157,14 @@
 						Main.getLayerManager().addLayer(this);
 					}
-//					Main.map.repaint();
+					Graphics g = paintVisitor.getGraphics();
+					paintVisitor = new PTAssistantPaintVisitor(g, Main.map.mapView);
+					for (OsmPrimitive primitive : primitives) {
+						paintVisitor.visit(primitive);
+
+					}
+					Main.map.repaint();
 				}
 
 			}
-
-//			System.out.println("focusedWindow: ");
-//			System.out.println("GET NEW VALUE: " + evt.getNewValue().getClass());
-//			System.out.println("");
 		}
 	}
Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantPaintVisitor.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantPaintVisitor.java	(revision 32433)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantPaintVisitor.java	(revision 32434)
@@ -2,4 +2,5 @@
 
 import java.awt.Color;
+import java.awt.Font;
 import java.awt.Graphics;
 import java.awt.Point;
@@ -34,5 +35,12 @@
 		for (RelationMember rm : r.getMembers()) {
 			if (RouteUtils.isPTStop(rm)) {
-				drawStop(rm.getMember(), Color.BLUE, Color.BLACK, (new Integer(stopCount)).toString());
+				String label = "";
+				if (r.hasKey("ref")) {
+					label = label + r.get("ref");
+				} else if (r.hasKey("name")) {
+					label = label + r.get("name");
+				}
+				label = label + "." + stopCount;
+				drawStop(rm.getMember(), Color.BLUE, Color.BLACK,  label);
 				stopCount++;
 			} else if (RouteUtils.isPTWay(rm)) {
@@ -62,5 +70,5 @@
 				continue;
 			}
-			drawSegment(lastN, n, Color.BLUE);
+			drawSegment(lastN, n, new Color(208, 80, 208, 179));
 			lastN = n;
 		}
@@ -93,10 +101,18 @@
 
 		double t = Math.atan2((double) p2.x - p1.x, (double) p2.y - p1.y);
-		double cosT = 5 * Math.cos(t);
-		double sinT = 5 * Math.sin(t);
+		double cosT = 8 * Math.cos(t);
+		double sinT = 8 * Math.sin(t);
+		
+		
+		int[] xPoints = {(int)(p1.x+cosT), (int)(p2.x+cosT), (int)(p2.x-cosT), (int)(p1.x-cosT)};
+		int[] yPoints = {(int)(p1.y-sinT), (int)(p2.y-sinT), (int)(p2.y+sinT), (int)(p1.y+sinT)};
+		g.setColor(color);
+		g.fillPolygon(xPoints, yPoints, 4);
+		g.fillOval((int)(p1.x-8), (int)(p1.y-8), 16, 16);
+		g.fillOval((int)(p2.x-8), (int)(p2.y-8), 16, 16);
+		
 
-		g.setColor(color);
-		g.drawLine((int) (p1.x + cosT), (int) (p1.y - sinT), (int) (p2.x + cosT), (int) (p2.y - sinT));
-		g.drawLine((int) (p1.x - cosT), (int) (p1.y + sinT), (int) (p2.x - cosT), (int) (p2.y + sinT));
+//		g.drawLine((int) (p1.x - cosT), (int) (p1.y - sinT), (int) (p2.x + cosT), (int) (p2.y - sinT));
+//		g.drawLine((int) (p1.x - cosT), (int) (p1.y + sinT), (int) (p2.x - cosT), (int) (p2.y + sinT));
 
 	}
@@ -127,5 +143,4 @@
 
 		g.setColor(fillColor);
-		// g.drawRect(p.x-10, p.y-10, 20, 20);
 		g.fillOval(p.x - 5, p.y - 5, 10, 10);
 		g.setColor(outlineColor);
@@ -133,5 +148,12 @@
 
 		g.setColor(Color.WHITE);
+		Font stringFont = new Font( "SansSerif", Font.PLAIN, 18 );
+		g.setFont(stringFont);
 		g.drawString(label, p.x - 20, p.y - 20);
 	}
+	
+	protected Graphics getGraphics() {
+		return this.g;
+	}
+	
 }
