diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp
index bc1d6606caca7bba36c60dfa58145faf5a2287c2..59ad5cec83df6f9b1caeba55a20bce81ae0a70ce 100644
--- a/src/modules/sensors/sensors.cpp
+++ b/src/modules/sensors/sensors.cpp
@@ -372,8 +372,10 @@ Sensors::diff_pres_poll(struct sensor_combined_s &raw)
 
 		airspeed.air_temperature_celsius = air_temperature_celsius;
 
-		int instance;
-		orb_publish_auto(ORB_ID(airspeed), &_airspeed_pub, &airspeed, &instance, ORB_PRIO_DEFAULT);
+		if (PX4_ISFINITE(airspeed.indicated_airspeed_m_s) && PX4_ISFINITE(airspeed.true_airspeed_m_s)) {
+			int instance;
+			orb_publish_auto(ORB_ID(airspeed), &_airspeed_pub, &airspeed, &instance, ORB_PRIO_DEFAULT);
+		}
 	}
 }