Index: trunk/src/org/openstreetmap/josm/io/FileImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/FileImporter.java	(revision 12058)
+++ trunk/src/org/openstreetmap/josm/io/FileImporter.java	(revision 12059)
@@ -16,4 +16,5 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.tools.bugreport.BugReportExceptionHandler;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -102,4 +103,7 @@
             displayError(f, e);
             return false;
+        } catch (Exception e) {
+            BugReportExceptionHandler.handleException(e);
+            return false;
         }
     }
Index: trunk/src/org/openstreetmap/josm/io/NmeaReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/NmeaReader.java	(revision 12058)
+++ trunk/src/org/openstreetmap/josm/io/NmeaReader.java	(revision 12059)
@@ -340,15 +340,15 @@
                 // vdop
                 accu = e[GPGSA.VDOP.position];
-                if (!accu.isEmpty()) {
+                if (!accu.isEmpty() && currentwp != null) {
                     currentwp.put(GpxConstants.PT_VDOP, Float.valueOf(accu));
                 }
                 // hdop
                 accu = e[GPGSA.HDOP.position];
-                if (!accu.isEmpty()) {
+                if (!accu.isEmpty() && currentwp != null) {
                     currentwp.put(GpxConstants.PT_HDOP, Float.valueOf(accu));
                 }
                 // pdop
                 accu = e[GPGSA.PDOP.position];
-                if (!accu.isEmpty()) {
+                if (!accu.isEmpty() && currentwp != null) {
                     currentwp.put(GpxConstants.PT_PDOP, Float.valueOf(accu));
                 }
