diff --git a/graphicsItems/ScatterPlotItem.py b/graphicsItems/ScatterPlotItem.py
index 10d0ded79b3ba0dbb1016766de7a57e051c1592c..0f1b0daf820e1cf876693697da0094ca53ca1266 100644
--- a/graphicsItems/ScatterPlotItem.py
+++ b/graphicsItems/ScatterPlotItem.py
@@ -488,9 +488,13 @@ class ScatterPlotItem(GraphicsObject):
         #self.sigPointClicked.emit(self, point)
 
     def points(self):
+        if not self.spotsValid:
+            self.generateSpots()
         return self.spots[:]
 
     def pointsAt(self, pos):
+        if not self.spotsValid:
+            self.generateSpots()
         x = pos.x()
         y = pos.y()
         pw = self.pixelWidth()