Index: trunk/src/org/openstreetmap/josm/gui/util/imagery/CameraPlane.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/imagery/CameraPlane.java	(revision 18254)
+++ trunk/src/org/openstreetmap/josm/gui/util/imagery/CameraPlane.java	(revision 18255)
@@ -183,5 +183,5 @@
     }
 
-    public Vector3D getRotation() {
+    public synchronized Vector3D getRotation() {
         return this.rotation;
     }
Index: trunk/src/org/openstreetmap/josm/gui/util/imagery/Vector3D.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/imagery/Vector3D.java	(revision 18254)
+++ trunk/src/org/openstreetmap/josm/gui/util/imagery/Vector3D.java	(revision 18255)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.util.imagery;
+
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -237,5 +239,5 @@
         if (o instanceof Vector3D) {
             Vector3D other = (Vector3D) o;
-            return this.x == other.x && this.y == other.y && this.z == other.z;
+            return Utils.equalsEpsilon(this.x, other.x) && Utils.equalsEpsilon(this.y, other.y) && Utils.equalsEpsilon(this.z, other.z);
         }
         return false;
