--- a/src/load/peak_ewma.rs
+++ b/src/load/peak_ewma.rs
@@ -309,3 +309,3 @@
 
-#[cfg(test)]
+#[cfg(all(test, feature="futures-util"))]
 mod tests {
--- a/src/load/pending_requests.rs
+++ b/src/load/pending_requests.rs
@@ -147,3 +147,3 @@
 
-#[cfg(test)]
+#[cfg(all(test, feature = "futures-util"))]
 mod tests {
--- a/src/make/make_service/shared.rs
+++ b/src/make/make_service/shared.rs
@@ -104,3 +104,3 @@
 
-#[cfg(test)]
+#[cfg(all(test, feature = "util"))]
 mod tests {
--- a/tests/steer/main.rs
+++ b/tests/steer/main.rs
@@ -1,2 +1,2 @@
-#![cfg(feature = "steer")]
+#![cfg(all(feature = "steer", feature = "futures-util"))]
 #[path = "../support.rs"]
--- a/src/util/rng.rs
+++ b/src/util/rng.rs
@@ -154,2 +154,3 @@
 
+        #[cfg(feature = "balance")]
         fn sample_floyd2(counter: u64, length: u64) -> TestResult {
@@ -173,2 +174,3 @@
     #[test]
+    #[cfg(feature = "balance")]
     fn sample_inplace_boundaries() {
