diff --git a/src/gps_functions.c b/src/gps_functions.c
index 9943b6b..c3d087a 100644
--- a/src/gps_functions.c
+++ b/src/gps_functions.c
@@ -762,7 +762,7 @@ cb_gpsd_data(GIOChannel *src, GIOCondition condition, gpointer data)
 		{
 			gpsdata->fix.time = (time_t) 0;
 		}
-		gpsdata->valid = (libgps_gpsdata.status != STATUS_NO_FIX);
+		gpsdata->valid = (libgps_gpsdata.fix.status != STATUS_NO_FIX);
 		if (gpsdata->valid)
 		{
 			gpsdata->seen_valid = TRUE;
