Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java	(revision 5202)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java	(revision 5206)
@@ -127,5 +127,5 @@
      * @param onewayReversed for oneway=-1 and similar
      */
-    public void drawWay(Way way, Color color, BasicStroke line, BasicStroke dashes, Color dashedColor, int offset,
+    public void drawWay(Way way, Color color, BasicStroke line, BasicStroke dashes, Color dashedColor, float offset,
             boolean showOrientation, boolean showHeadArrowOnly,
             boolean showOneway, boolean onewayReversed) {
@@ -259,5 +259,5 @@
 
         private List<Node> nodes;
-        private int offset;
+        private float offset;
         private int idx;
 
@@ -269,5 +269,5 @@
         private int x_prev0, y_prev0;
 
-        public OffsetIterator(List<Node> nodes, int offset) {
+        public OffsetIterator(List<Node> nodes, float offset) {
             this.nodes = nodes;
             this.offset = offset;
@@ -282,5 +282,5 @@
         @Override
         public Point next() {
-            if (offset == 0) return nc.getPoint(nodes.get(idx++));
+            if (Math.abs(offset) < 0.1f) return nc.getPoint(nodes.get(idx++));
 
             Point current = nc.getPoint(nodes.get(idx));
@@ -861,5 +861,5 @@
             if ((pb.width >= nb.getWidth() && pb.height >= nb.getHeight()) && // quick check
                     area.contains(centeredNBounds) // slow but nice
-                    ) {
+            ) {
                 g.setColor(text.color);
                 Font defaultFont = g.getFont();
