Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 10841)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 10842)
@@ -892,7 +892,9 @@
         double x = p.getInViewX();
         double y = p.getInViewY();
-        temporaryGraphics.translate(-x, -y);
+        temporaryGraphics.translate(x, y);
         temporaryGraphics.rotate(theta);
-        temporaryGraphics.drawImage(img.getImage(disabled), w/2 + img.offsetX, h/2 + img.offsetY, nc);
+        int drawX = -w/2 + img.offsetX;
+        int drawY = -h/2 + img.offsetY;
+        temporaryGraphics.drawImage(img.getImage(disabled), drawX, drawY, nc);
         if (selected || member) {
             Color color;
@@ -904,6 +906,6 @@
                 color = relationSelectedColor;
             }
-            g.setColor(color);
-            g.draw(new Rectangle2D.Double(x - w/2 + img.offsetX - 2, y - h/2 + img.offsetY - 2, w + 4, h + 4));
+            temporaryGraphics.setColor(color);
+            temporaryGraphics.draw(new Rectangle2D.Double(drawX - 2, drawY - 2, w + 4, h + 4));
         }
     }
