Index: trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/CompletelyInsideAreaStrategy.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/CompletelyInsideAreaStrategy.java	(revision 12476)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/CompletelyInsideAreaStrategy.java	(revision 12477)
@@ -111,5 +111,5 @@
             return this;
         } else {
-            return new CompletelyInsideAreaStrategy(offsetX + addToOffset.getX(), offsetY + addToOffset.getY());
+            return new CompletelyInsideAreaStrategy(offsetX + addToOffset.getX(), offsetY - addToOffset.getY());
         }
     }
@@ -145,5 +145,5 @@
         CompletelyInsideAreaStrategy other = (CompletelyInsideAreaStrategy) obj;
         return Double.doubleToLongBits(offsetX) == Double.doubleToLongBits(other.offsetX)
-                && Double.doubleToLongBits(offsetY) != Double.doubleToLongBits(other.offsetY);
+                && Double.doubleToLongBits(offsetY) == Double.doubleToLongBits(other.offsetY);
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/OnLineStrategy.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/OnLineStrategy.java	(revision 12476)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/OnLineStrategy.java	(revision 12477)
@@ -339,5 +339,5 @@
             return this;
         } else {
-            return new OnLineStrategy(addToOffset.getY() + this.yOffset);
+            return new OnLineStrategy(this.yOffset - addToOffset.getY());
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/PartiallyInsideAreaStrategy.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/PartiallyInsideAreaStrategy.java	(revision 12476)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/PartiallyInsideAreaStrategy.java	(revision 12477)
@@ -52,5 +52,5 @@
             return this;
         } else {
-            return new PartiallyInsideAreaStrategy(offsetX + addToOffset.getX(), offsetY + addToOffset.getY());
+            return new PartiallyInsideAreaStrategy(offsetX + addToOffset.getX(), offsetY - addToOffset.getY());
         }
     }
