Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 6214)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 6215)
@@ -37,4 +37,5 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -698,5 +699,6 @@
             }
             for (Node n : affectedNodes) {
-                if (n.getCoor().isOutSideWorld()) {
+                LatLon ll = n.getCoor();
+                if (ll != null && ll.isOutSideWorld()) {
                     // Revert move
                     ((MoveCommand) c).resetToCheckpoint();
Index: trunk/src/org/openstreetmap/josm/command/MoveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/MoveCommand.java	(revision 6214)
+++ trunk/src/org/openstreetmap/josm/command/MoveCommand.java	(revision 6215)
@@ -151,5 +151,7 @@
         for (Node n : nodes) {
             OldNodeState os = it.next();
-            n.setEastNorth(os.eastNorth.add(x, y));
+            if (os.eastNorth != null) {
+                n.setEastNorth(os.eastNorth.add(x, y));
+            }
         }
     }
@@ -160,9 +162,9 @@
             if (n == null)
                 throw new AssertionError("null detected in node list");
-            if (n.getEastNorth() == null)
-                throw new AssertionError("null coordinates detected in node list");
-
-            n.setEastNorth(n.getEastNorth().add(x, y));
-            n.setModified(true);
+            EastNorth en = n.getEastNorth();
+            if (en != null) {
+                n.setEastNorth(en.add(x, y));
+                n.setModified(true);
+            }
         }
         return true;
Index: trunk/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java	(revision 6214)
+++ trunk/src/org/openstreetmap/josm/data/osm/AbstractPrimitive.java	(revision 6215)
@@ -267,5 +267,4 @@
             throw new IllegalStateException(tr("Cannot assign a changesetId > 0 to a new primitive. Value of changesetId is {0}", changesetId));
 
-        int old = this.changesetId;
         this.changesetId = changesetId;
     }
@@ -716,5 +715,5 @@
      * @param key the key forming the tag.
      * @param values one or many values forming the tag.
-     * @return true iff primitive contains a tag consisting of {@code key} and any of {@code values}.
+     * @return true if primitive contains a tag consisting of {@code key} and any of {@code values}.
      */
     public boolean hasTag(String key, String... values) {
