diff --git a/adaptive/learner/learner1D.py b/adaptive/learner/learner1D.py
index 550da04e0588c800f53ad5f7c196e05600c70c31..320e67258425f1597a5191e443a14dc7c1a81bb7 100644
--- a/adaptive/learner/learner1D.py
+++ b/adaptive/learner/learner1D.py
@@ -253,6 +253,9 @@ class Learner1D(BaseLearner):
             except TypeError:
                 self._vdim = 1
 
+        if not self.bounds[0] <= x <= self.bounds[1]:
+            return
+
         self.update_neighbors(x, self.neighbors_combined)
         self.update_neighbors(x, self.neighbors)
         self.update_scale(x, y)