Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 8644)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 8645)
@@ -824,6 +824,8 @@
         double baseHdg = -1;
         if (previousNode != null) {
-            baseHdg =  Math.toDegrees(previousNode.getEastNorth()
-                    .heading(getCurrentBaseNode().getEastNorth()));
+            EastNorth en = previousNode.getEastNorth();
+            if (en != null) {
+                baseHdg = Math.toDegrees(en.heading(getCurrentBaseNode().getEastNorth()));
+            }
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 8644)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 8645)
@@ -155,6 +155,8 @@
             case CANCEL:
                 if (yLayer != null) {
-                    for (ImageEntry ie : yLayer.data) {
-                        ie.tmp = null;
+                    if (yLayer.data != null) {
+                        for (ImageEntry ie : yLayer.data) {
+                            ie.tmp = null;
+                        }
                     }
                     yLayer.updateBufferAndRepaint();
