diff --git a/geomagio/imfjson/IMFJSONWriter.py b/geomagio/imfjson/IMFJSONWriter.py
index e8323c43f81492e3253836217571c90f95107228..91c6f5aa98d0de0f3416db87aa624e90b1e5aa4f 100644
--- a/geomagio/imfjson/IMFJSONWriter.py
+++ b/geomagio/imfjson/IMFJSONWriter.py
@@ -122,8 +122,11 @@ class IMFJSONWriter(object):
             coords[0] = float(stats.geodetic_longitude)
         if 'geodetic_latitude' in stats:
             coords[1] = float(stats.geodetic_latitude)
-        if 'elevation' in stats:
-            coords[2] = float(stats.elevation)
+        try:
+            if 'elevation' in stats:
+                coords[2] = float(stats.elevation)
+        except (KeyError, ValueError, TypeError):
+            pass
         imo['coordinates'] = coords
         intermag['imo'] = imo
         intermag['reported_orientation'] = ''.join(channels)