diff --git a/src/drivers/barometer/lps22hb/LPS22HB.cpp b/src/drivers/barometer/lps22hb/LPS22HB.cpp
index dc2ca2eaa9e13382c3ddc1abb8cad93124f73019..10d191629fa1aeee83bb3f8add61c594b00fdabd 100644
--- a/src/drivers/barometer/lps22hb/LPS22HB.cpp
+++ b/src/drivers/barometer/lps22hb/LPS22HB.cpp
@@ -106,12 +106,6 @@ LPS22HB::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/barometer/lps25h/lps25h.cpp b/src/drivers/barometer/lps25h/lps25h.cpp
index 521e99ec1b85e61f008c05ba20d494805bcdb022..b624d3b6319c5b309b59cf27936fe9b6e7785e61 100644
--- a/src/drivers/barometer/lps25h/lps25h.cpp
+++ b/src/drivers/barometer/lps25h/lps25h.cpp
@@ -441,12 +441,6 @@ LPS25H::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp b/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp
index 655e129af3630483e2f82ecea616bfe9c8943b1f..94574a3f929c1dd26ae54d87acc6ec45c2125485 100644
--- a/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp
+++ b/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp
@@ -392,12 +392,6 @@ MPL3115A2::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop_cycle();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/barometer/ms5611/ms5611.cpp b/src/drivers/barometer/ms5611/ms5611.cpp
index 4a6689d06043c03258d1cc2709700112806df4ec..89a35f8ae21f6f3a3feb2fab0c55ec82c44e27ee 100644
--- a/src/drivers/barometer/ms5611/ms5611.cpp
+++ b/src/drivers/barometer/ms5611/ms5611.cpp
@@ -467,12 +467,6 @@ MS5611::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop_cycle();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/hc_sr04/hc_sr04.cpp b/src/drivers/distance_sensor/hc_sr04/hc_sr04.cpp
index 0f6c0665a4e37b4f13154c70e649670dbd27beb6..3d6a6832117eb996e5a66adab0a027f98fffe1c1 100644
--- a/src/drivers/distance_sensor/hc_sr04/hc_sr04.cpp
+++ b/src/drivers/distance_sensor/hc_sr04/hc_sr04.cpp
@@ -348,12 +348,6 @@ HC_SR04::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/ll40ls/LidarLite.cpp b/src/drivers/distance_sensor/ll40ls/LidarLite.cpp
index c8eba323a79a98da44c563647307e030fdde7002..8dfaf47ec7a3f802d1e7801d5e5f499360a60821 100644
--- a/src/drivers/distance_sensor/ll40ls/LidarLite.cpp
+++ b/src/drivers/distance_sensor/ll40ls/LidarLite.cpp
@@ -80,12 +80,6 @@ int LidarLite::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/mb12xx/mb12xx.cpp b/src/drivers/distance_sensor/mb12xx/mb12xx.cpp
index 3b049f149de9a6d0ebde96467b488f4cc0d39c4f..91a0475dcdbc536bc9ebed13f6339a24d1589903 100644
--- a/src/drivers/distance_sensor/mb12xx/mb12xx.cpp
+++ b/src/drivers/distance_sensor/mb12xx/mb12xx.cpp
@@ -344,12 +344,6 @@ MB12XX::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/sf0x/sf0x.cpp b/src/drivers/distance_sensor/sf0x/sf0x.cpp
index 291f26ee488682fa93dea1c845b36f27a2abcf15..67ee21f30d930898e5a0a4bc28fddfc738ce801d 100644
--- a/src/drivers/distance_sensor/sf0x/sf0x.cpp
+++ b/src/drivers/distance_sensor/sf0x/sf0x.cpp
@@ -325,12 +325,6 @@ SF0X::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/sf1xx/sf1xx.cpp b/src/drivers/distance_sensor/sf1xx/sf1xx.cpp
index 985492e3f1b34667db0039a85e73206e33e83198..aa052f4b8907335b4513416276580fbdec7906aa 100644
--- a/src/drivers/distance_sensor/sf1xx/sf1xx.cpp
+++ b/src/drivers/distance_sensor/sf1xx/sf1xx.cpp
@@ -344,12 +344,6 @@ SF1XX::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/srf02/srf02.cpp b/src/drivers/distance_sensor/srf02/srf02.cpp
index ea4c45ef8a3f69d7aa4ff1baee4a9a62c506dddd..625386715a49143dd4e47a3219a141fbe3f28003 100644
--- a/src/drivers/distance_sensor/srf02/srf02.cpp
+++ b/src/drivers/distance_sensor/srf02/srf02.cpp
@@ -344,12 +344,6 @@ SRF02::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/teraranger/teraranger.cpp b/src/drivers/distance_sensor/teraranger/teraranger.cpp
index ce3f1fca8f9b82709fb33429d267abd64a565d96..6dd209bba2a267ba59493ca7d67f11c67ac126c1 100644
--- a/src/drivers/distance_sensor/teraranger/teraranger.cpp
+++ b/src/drivers/distance_sensor/teraranger/teraranger.cpp
@@ -423,12 +423,6 @@ TERARANGER::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/tfmini/tfmini.cpp b/src/drivers/distance_sensor/tfmini/tfmini.cpp
index 06d95198a93ea83788e088f52d6882a4fdcf2481..8a58912ba41e0c66a022706eec18d4332ec8919f 100644
--- a/src/drivers/distance_sensor/tfmini/tfmini.cpp
+++ b/src/drivers/distance_sensor/tfmini/tfmini.cpp
@@ -362,12 +362,6 @@ TFMINI::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/distance_sensor/vl53lxx/vl53lxx.cpp b/src/drivers/distance_sensor/vl53lxx/vl53lxx.cpp
index 716024c69d088972bf1c8afb23cfb56fb7137048..332a5503fd5aadca4120b872525d91c36bdc6d72 100644
--- a/src/drivers/distance_sensor/vl53lxx/vl53lxx.cpp
+++ b/src/drivers/distance_sensor/vl53lxx/vl53lxx.cpp
@@ -366,13 +366,6 @@ VL53LXX::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 					return OK;
 				}
 
-			case SENSOR_POLLRATE_MANUAL: {
-
-					stop();
-					_measure_ticks = 0;
-					return OK;
-				}
-
 			/* adjust to a legal polling interval in Hz */
 			default: {
 					/* do we need to start internal polling? */
diff --git a/src/drivers/drv_sensor.h b/src/drivers/drv_sensor.h
index e66f8bb3b326f64b6bfcea2c0e390374c8554a9f..30246cf0210039dae8306655888326758788c134 100644
--- a/src/drivers/drv_sensor.h
+++ b/src/drivers/drv_sensor.h
@@ -126,7 +126,6 @@
  */
 #define SENSORIOCSPOLLRATE	_SENSORIOC(0)
 
-#define SENSOR_POLLRATE_MANUAL		1000000	/**< poll when read */
 #define SENSOR_POLLRATE_MAX		1000002	/**< poll at device maximum rate */
 #define SENSOR_POLLRATE_DEFAULT		1000003	/**< poll at driver normal rate */
 
diff --git a/src/drivers/imu/adis16448/adis16448.cpp b/src/drivers/imu/adis16448/adis16448.cpp
index da1789b2907c358f90c2d85524d01e549ceb69fe..bef711671e1e56fb9a5c5cdaf66d4fdddbeb6fa5 100644
--- a/src/drivers/imu/adis16448/adis16448.cpp
+++ b/src/drivers/imu/adis16448/adis16448.cpp
@@ -980,12 +980,6 @@ ADIS16448::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/adis16477/ADIS16477.cpp b/src/drivers/imu/adis16477/ADIS16477.cpp
index 2b0ce286a81415ca58d26b0db9cf1b0483e8b1ab..ab3b78389588c82569b531a5468c3255e62b32ca 100644
--- a/src/drivers/imu/adis16477/ADIS16477.cpp
+++ b/src/drivers/imu/adis16477/ADIS16477.cpp
@@ -344,12 +344,6 @@ ADIS16477::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/bma180/bma180.cpp b/src/drivers/imu/bma180/bma180.cpp
index f3792af0cc03a164fb7f03ae25b05e3dca427735..3f05754c079d99c199f9ec6a1bd4c8fb99134d0f 100644
--- a/src/drivers/imu/bma180/bma180.cpp
+++ b/src/drivers/imu/bma180/bma180.cpp
@@ -400,12 +400,6 @@ BMA180::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -795,15 +789,12 @@ test()
 	/* get the driver */
 	fd = open(ACCEL_DEVICE_PATH, O_RDONLY);
 
-	if (fd < 0)
+	if (fd < 0) {
 		err(1, "%s open failed (try 'bma180 start' if the driver is not running)",
 		    ACCEL_DEVICE_PATH);
-
-	/* reset to manual polling */
-	if (ioctl(fd, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		err(1, "reset to manual polling");
 	}
 
+
 	/* do a simple demand read */
 	sz = read(fd, &a_report, sizeof(a_report));
 
diff --git a/src/drivers/imu/bmi055/BMI055_accel.cpp b/src/drivers/imu/bmi055/BMI055_accel.cpp
index de74e9a7bcfa25bb5aa31d77cdcd8fb7a2a267eb..dafffc5b619a11dbf0864d0a51038ed14bd31c75 100644
--- a/src/drivers/imu/bmi055/BMI055_accel.cpp
+++ b/src/drivers/imu/bmi055/BMI055_accel.cpp
@@ -330,12 +330,6 @@ BMI055_accel::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/bmi055/BMI055_gyro.cpp b/src/drivers/imu/bmi055/BMI055_gyro.cpp
index 577e70076024a98f5482b42c5acbed1020feca30..0d7c3663686683bfe7e92b46d0fd8b726618259a 100644
--- a/src/drivers/imu/bmi055/BMI055_gyro.cpp
+++ b/src/drivers/imu/bmi055/BMI055_gyro.cpp
@@ -316,12 +316,6 @@ BMI055_gyro::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/bmi055/bmi055_main.cpp b/src/drivers/imu/bmi055/bmi055_main.cpp
index 1c1fa23b8940f60c0a7c86096933f8801c2635db..a6cc48ff66e0ee82f8c82761a5f633df9fa321d6 100644
--- a/src/drivers/imu/bmi055/bmi055_main.cpp
+++ b/src/drivers/imu/bmi055/bmi055_main.cpp
@@ -233,14 +233,9 @@ test(bool external_bus, enum sensor_type sensor)
 		/* get the accel driver */
 		int fd_acc = open(path_accel, O_RDONLY);
 
-		if (fd_acc < 0)
+		if (fd_acc < 0) {
 			err(1, "%s Accel file open failed (try 'bmi055 -A start')",
 			    path_accel);
-
-
-		/* reset to manual polling */
-		if (ioctl(fd_acc, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-			err(1, "accel reset to manual polling");
 		}
 
 		/* do a simple demand read */
@@ -270,11 +265,6 @@ test(bool external_bus, enum sensor_type sensor)
 			err(1, "%s Gyro file open failed (try 'bmi055 -G start')", path_gyro);
 		}
 
-		/* reset to manual polling */
-		if (ioctl(fd_gyr, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-			err(1, "gyro reset to manual polling");
-		}
-
 		/* do a simple demand read */
 		sz = read(fd_gyr, &g_report, sizeof(g_report));
 
diff --git a/src/drivers/imu/bmi160/bmi160.cpp b/src/drivers/imu/bmi160/bmi160.cpp
index c1ab84364c8ea64be71b6833a1fc9bdf74651341..a875571c4def4259c8b6b61b6834f0bc4e81e9f0 100644
--- a/src/drivers/imu/bmi160/bmi160.cpp
+++ b/src/drivers/imu/bmi160/bmi160.cpp
@@ -555,12 +555,6 @@ BMI160::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/bmi160/bmi160_main.cpp b/src/drivers/imu/bmi160/bmi160_main.cpp
index 0c5f45c53931900930f318c07ff8000c9a1333d2..180ffa8fd9be2cfff1f0e2f53862ea3eb7b0e45a 100644
--- a/src/drivers/imu/bmi160/bmi160_main.cpp
+++ b/src/drivers/imu/bmi160/bmi160_main.cpp
@@ -139,11 +139,6 @@ test(bool external_bus)
 		err(1, "%s open failed", path_gyro);
 	}
 
-	/* reset to manual polling */
-	if (ioctl(fd, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		err(1, "reset to manual polling");
-	}
-
 	/* do a simple demand read */
 	sz = read(fd, &a_report, sizeof(a_report));
 
diff --git a/src/drivers/imu/fxas21002c/fxas21002c.cpp b/src/drivers/imu/fxas21002c/fxas21002c.cpp
index 4e7e6d278f8013dd7b1fcf51310c519d3fa87c97..842756bae28043c9d8120adf1b4e5dedd9b155c4 100644
--- a/src/drivers/imu/fxas21002c/fxas21002c.cpp
+++ b/src/drivers/imu/fxas21002c/fxas21002c.cpp
@@ -656,12 +656,6 @@ FXAS21002C::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -1313,11 +1307,6 @@ test()
 		err(1, "%s open failed", FXAS21002C_DEVICE_PATH_GYRO);
 	}
 
-	/* reset to manual polling */
-	if (ioctl(fd_gyro, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		err(1, "reset to manual polling");
-	}
-
 	/* do a simple demand read */
 	sz = read(fd_gyro, &g_report, sizeof(g_report));
 
diff --git a/src/drivers/imu/fxos8701cq/fxos8701cq.cpp b/src/drivers/imu/fxos8701cq/fxos8701cq.cpp
index 6af2a978fd32c75ec3a14de9e9e251f6df7f2e6e..bd855609209d7ca602adf9e7989b0453b7dc1b31 100644
--- a/src/drivers/imu/fxos8701cq/fxos8701cq.cpp
+++ b/src/drivers/imu/fxos8701cq/fxos8701cq.cpp
@@ -804,12 +804,6 @@ FXOS8701CQ::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_accel_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -904,12 +898,6 @@ FXOS8701CQ::mag_ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_mag_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/l3gd20/l3gd20.cpp b/src/drivers/imu/l3gd20/l3gd20.cpp
index b8e88b30a0d8e812206da29dc904c29cce5ba8a0..d608b1ba95240af3480942c6803ab743ff06631f 100644
--- a/src/drivers/imu/l3gd20/l3gd20.cpp
+++ b/src/drivers/imu/l3gd20/l3gd20.cpp
@@ -576,12 +576,6 @@ L3GD20::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -1204,11 +1198,6 @@ test()
 		err(1, "%s open failed", L3GD20_DEVICE_PATH);
 	}
 
-	/* reset to manual polling */
-	if (ioctl(fd_gyro, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		err(1, "reset to manual polling");
-	}
-
 	/* do a simple demand read */
 	sz = read(fd_gyro, &g_report, sizeof(g_report));
 
diff --git a/src/drivers/imu/lsm303d/lsm303d.cpp b/src/drivers/imu/lsm303d/lsm303d.cpp
index 03a88b6c3e9e4860d6781ccd7aebdd65bb4fdf96..70a21da2dbbdcb47967adbd08593498e8ea1124e 100644
--- a/src/drivers/imu/lsm303d/lsm303d.cpp
+++ b/src/drivers/imu/lsm303d/lsm303d.cpp
@@ -816,12 +816,6 @@ LSM303D::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_accel_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -915,12 +909,6 @@ LSM303D::mag_ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_mag_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/mpu6000/mpu6000.cpp b/src/drivers/imu/mpu6000/mpu6000.cpp
index 6a5ec834460d74ff3539bd885a9909a281e12df2..64b5a52f068c868bfb29445d967463d3ef9e52cc 100644
--- a/src/drivers/imu/mpu6000/mpu6000.cpp
+++ b/src/drivers/imu/mpu6000/mpu6000.cpp
@@ -1266,12 +1266,6 @@ MPU6000::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -2257,11 +2251,6 @@ test(enum MPU6000_BUS busid)
 		err(1, "%s open failed", bus.gyropath);
 	}
 
-	/* reset to manual polling */
-	if (ioctl(fd, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		err(1, "reset to manual polling");
-	}
-
 	/* do a simple demand read */
 	sz = read(fd, &a_report, sizeof(a_report));
 
diff --git a/src/drivers/imu/mpu9250/mag.cpp b/src/drivers/imu/mpu9250/mag.cpp
index 1ef4a000fb5f4260184cb806aaf56dd9608a3ccf..70a4ee3867f3fa29751780c518948bd0b1df62f8 100644
--- a/src/drivers/imu/mpu9250/mag.cpp
+++ b/src/drivers/imu/mpu9250/mag.cpp
@@ -298,15 +298,6 @@ MPU9250_mag::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				/*
-				 * TODO: investigate being able to stop
-				 *       the continuous sampling
-				 */
-				//stop();
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/imu/mpu9250/main.cpp b/src/drivers/imu/mpu9250/main.cpp
index 38ad8e842918da5955407d0ee08a346766bda350..294082966180c69381f2cb7a9aa931f32d5754bd 100644
--- a/src/drivers/imu/mpu9250/main.cpp
+++ b/src/drivers/imu/mpu9250/main.cpp
@@ -342,11 +342,6 @@ test(enum MPU9250_BUS busid)
 		err(1, "%s open failed", bus.magpath);
 	}
 
-	/* reset to manual polling */
-	if (ioctl(fd, SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		err(1, "reset to manual polling");
-	}
-
 	/* do a simple demand read */
 	sz = read(fd, &a_report, sizeof(a_report));
 
diff --git a/src/drivers/imu/mpu9250/mpu9250.cpp b/src/drivers/imu/mpu9250/mpu9250.cpp
index 748688f080eec2ff3e0330bbd4706fdd3ac60387..f73793c0e92fdcb8f3f931ee386cfd6049d10355 100644
--- a/src/drivers/imu/mpu9250/mpu9250.cpp
+++ b/src/drivers/imu/mpu9250/mpu9250.cpp
@@ -735,12 +735,6 @@ MPU9250::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/magnetometer/bmm150/bmm150.cpp b/src/drivers/magnetometer/bmm150/bmm150.cpp
index 5c04cd56345d1f464d0aa9ff48b323a632d257fa..4b727c26084450e9d4b49f951f26162ef560c026 100644
--- a/src/drivers/magnetometer/bmm150/bmm150.cpp
+++ b/src/drivers/magnetometer/bmm150/bmm150.cpp
@@ -726,12 +726,6 @@ BMM150::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/magnetometer/hmc5883/hmc5883.cpp b/src/drivers/magnetometer/hmc5883/hmc5883.cpp
index 0d81d2d619e2a5595508bda39585a85f5ef4b29e..1c4e73d5916f4fee68a033ed84c5241b23c367c5 100644
--- a/src/drivers/magnetometer/hmc5883/hmc5883.cpp
+++ b/src/drivers/magnetometer/hmc5883/hmc5883.cpp
@@ -616,12 +616,6 @@ HMC5883::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/magnetometer/ist8310/ist8310.cpp b/src/drivers/magnetometer/ist8310/ist8310.cpp
index 83a6401c80d634a45bb4e8c7b669cddbe2b079e6..df7e04f4c54b4b0977a3124f93895e6ac54690cc 100644
--- a/src/drivers/magnetometer/ist8310/ist8310.cpp
+++ b/src/drivers/magnetometer/ist8310/ist8310.cpp
@@ -596,12 +596,6 @@ IST8310::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/magnetometer/lis3mdl/lis3mdl.cpp b/src/drivers/magnetometer/lis3mdl/lis3mdl.cpp
index 8e696c590e7f6e7c019d481c6d4e3c1bc4279cf5..4d4bf21bdc0975f28ee7408509a44201b29fec8c 100644
--- a/src/drivers/magnetometer/lis3mdl/lis3mdl.cpp
+++ b/src/drivers/magnetometer/lis3mdl/lis3mdl.cpp
@@ -517,12 +517,6 @@ LIS3MDL::ioctl(struct file *file_pointer, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return PX4_OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/magnetometer/lsm303agr/LSM303AGR.cpp b/src/drivers/magnetometer/lsm303agr/LSM303AGR.cpp
index 9b974768e3c8474de23c4e8829f8ecc93f69ae67..6bf15864b5d716b16398b74875d7a6be23f50ddd 100644
--- a/src/drivers/magnetometer/lsm303agr/LSM303AGR.cpp
+++ b/src/drivers/magnetometer/lsm303agr/LSM303AGR.cpp
@@ -245,12 +245,6 @@ LSM303AGR::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/magnetometer/rm3100/rm3100.cpp b/src/drivers/magnetometer/rm3100/rm3100.cpp
index 1ff9d5e8029a5c4756ebdb98d66170ea3dd26f74..b932705e3ac947db0487e07a491676fbdd3d6a33 100644
--- a/src/drivers/magnetometer/rm3100/rm3100.cpp
+++ b/src/drivers/magnetometer/rm3100/rm3100.cpp
@@ -373,12 +373,6 @@ RM3100::ioctl(struct file *file_pointer, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return PX4_OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/drivers/pmw3901/pmw3901.cpp b/src/drivers/pmw3901/pmw3901.cpp
index a302a56b896408ef0cbc56411846f3d0340478b0..26a425faa2def1caf9b411ba7544af49fbde85bd 100644
--- a/src/drivers/pmw3901/pmw3901.cpp
+++ b/src/drivers/pmw3901/pmw3901.cpp
@@ -426,13 +426,6 @@ PMW3901::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 					return OK;
 				}
 
-			case SENSOR_POLLRATE_MANUAL: {
-
-					stop();
-					_measure_ticks = 0;
-					return OK;
-				}
-
 			/* adjust to a legal polling interval in Hz */
 			default: {
 					/* do we need to start internal polling? */
diff --git a/src/drivers/px4flow/px4flow.cpp b/src/drivers/px4flow/px4flow.cpp
index 931f3cc4781d9f11aa82d5fb5eeada0401fa92da..1fe5c2265af1a9947bf7cb5a58c0a3ddff934f4d 100644
--- a/src/drivers/px4flow/px4flow.cpp
+++ b/src/drivers/px4flow/px4flow.cpp
@@ -335,12 +335,6 @@ PX4FLOW::ioctl(struct file *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/lib/drivers/airspeed/airspeed.cpp b/src/lib/drivers/airspeed/airspeed.cpp
index 3cc31ee90e095ef2a3c55c3997dc38fede38c6a3..45ea0c03f2c0360f5c4cbfd21e375749409fa163 100644
--- a/src/lib/drivers/airspeed/airspeed.cpp
+++ b/src/lib/drivers/airspeed/airspeed.cpp
@@ -141,12 +141,6 @@ Airspeed::ioctl(device::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/modules/simulator/accelsim/accelsim.cpp b/src/modules/simulator/accelsim/accelsim.cpp
index afcd17b90e5783bd7934cbb1382df7a20b8c7505..bd879b8e83b0bf0754a72e3be6e7120682ff8709 100644
--- a/src/modules/simulator/accelsim/accelsim.cpp
+++ b/src/modules/simulator/accelsim/accelsim.cpp
@@ -497,12 +497,6 @@ ACCELSIM::devIOCTL(unsigned long cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (ul_arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				m_sample_interval_usecs = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -588,12 +582,6 @@ ACCELSIM::mag_ioctl(unsigned long cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				_mag->stop();
-				_mag->m_sample_interval_usecs = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/modules/simulator/airspeedsim/airspeedsim.cpp b/src/modules/simulator/airspeedsim/airspeedsim.cpp
index 0b998a854f678bedec455884a305dd5fbab03a27..23c50fe444740a07725251c4853719cc25084836 100644
--- a/src/modules/simulator/airspeedsim/airspeedsim.cpp
+++ b/src/modules/simulator/airspeedsim/airspeedsim.cpp
@@ -170,12 +170,6 @@ AirspeedSim::ioctl(cdev::file_t *filp, int cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_measure_ticks = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
diff --git a/src/modules/simulator/gyrosim/gyrosim.cpp b/src/modules/simulator/gyrosim/gyrosim.cpp
index de50df6243ebf32d6c31b99763ed339cbd92db6d..29d89c5f1b2adf1473eebe129931fd71f83cba74 100644
--- a/src/modules/simulator/gyrosim/gyrosim.cpp
+++ b/src/modules/simulator/gyrosim/gyrosim.cpp
@@ -633,12 +633,6 @@ GYROSIM::devIOCTL(unsigned long cmd, unsigned long arg)
 	case SENSORIOCSPOLLRATE: {
 			switch (arg) {
 
-			/* switching to manual polling */
-			case SENSOR_POLLRATE_MANUAL:
-				stop();
-				_call_interval = 0;
-				return OK;
-
 			/* zero would be bad */
 			case 0:
 				return -EINVAL;
@@ -1164,12 +1158,6 @@ test()
 		return 1;
 	}
 
-	/* reset to manual polling */
-	if (h_accel.ioctl(SENSORIOCSPOLLRATE, SENSOR_POLLRATE_MANUAL) < 0) {
-		PX4_ERR("reset to manual polling");
-		return 1;
-	}
-
 	/* do a simple demand read */
 	sz = h_accel.read(&a_report, sizeof(a_report));