diff --git a/host/lib/usrp/gpsd_iface.cpp b/host/lib/usrp/gpsd_iface.cpp
index c700117..0f65af3 100644
--- a/host/lib/usrp/gpsd_iface.cpp
+++ b/host/lib/usrp/gpsd_iface.cpp
@@ -265,11 +271,21 @@
             string.append(
                 str(boost::format("%.2f,M,") % _gps_data.fix.altitude));
 
+// https://gitlab.com/gpsd/gpsd/commit/c711d531a6faab93df68ec625a076631569a729d
+// "gpsdata.separation moved into gpsdata.fix.geoid_sep"
+#if GPSD_API_MAJOR_VERSION < 9
         if (boost::math::isnan(_gps_data.separation))
             string.append(",,");
         else
             string.append(
                 str(boost::format("%.3f,M,") % _gps_data.separation));
+#else
+        if (boost::math::isnan(_gps_data.fix.geoid_sep))
+            string.append(",,");
+        else
+            string.append(
+                str(boost::format("%.3f,M,") % _gps_data.fix.geoid_sep));
+#endif
 
         if (boost::math::isnan(mag_var))
             string.append(",");
