Index: applications/editors/josm/plugins/terracer/src/org/openstreetmap/josm/plugins/terracer/TerracerAction.java
===================================================================
--- applications/editors/josm/plugins/terracer/src/org/openstreetmap/josm/plugins/terracer/TerracerAction.java	(revision 35827)
+++ applications/editors/josm/plugins/terracer/src/org/openstreetmap/josm/plugins/terracer/TerracerAction.java	(revision 35975)
@@ -32,4 +32,6 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.UndoRedoHandler;
+import org.openstreetmap.josm.data.coor.ILatLon;
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -217,5 +219,5 @@
             // Don't open the dialog
             try {
-                terraceBuilding(outline, init, street, associatedStreet, 0, null, null, 0, 
+                terraceBuilding(outline, init, street, associatedStreet, 0, null, null, 0,
                         housenumbers, streetname, associatedStreet != null, false, "yes");
             } catch (UserCancelException ex) {
@@ -778,7 +780,8 @@
     private Node interpolateNode(Node a, Node b, double f) {
         Node n = new Node(a.getEastNorth().interpolate(b.getEastNorth(), f));
-        if (n.getCoor().equalsEpsilon(a.getCoor()))
+        LatLon latLon = n.getCoor();
+		if (latLon.equalsEpsilon(a.getCoor(), ILatLon.MAX_SERVER_PRECISION))
             return a;
-        if (n.getCoor().equalsEpsilon(b.getCoor()))
+        if (latLon.equalsEpsilon(b.getCoor(), ILatLon.MAX_SERVER_PRECISION))
             return b;
         return n;
