diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h
index f6ef4df1..eed919a1 100644
--- a/include/libcamera/internal/camera_sensor.h
+++ b/include/libcamera/internal/camera_sensor.h
@@ -64,7 +64,7 @@ public:
 				       Transform transform = Transform::Identity,
 				       V4L2SubdeviceFormat *sensorFormat = nullptr) = 0;
 
-	virtual V4L2Subdevice::Stream imageStream() const;
+	virtual V4L2Subdevice::Stream imageStream() const = 0;
 	virtual std::optional<V4L2Subdevice::Stream> embeddedDataStream() const;
 	virtual V4L2SubdeviceFormat embeddedDataFormat() const;
 	virtual int setEmbeddedDataEnabled(bool enable);
diff --git a/src/libcamera/sensor/camera_sensor.cpp b/src/libcamera/sensor/camera_sensor.cpp
index 4f2fd269..50f2b98d 100644
--- a/src/libcamera/sensor/camera_sensor.cpp
+++ b/src/libcamera/sensor/camera_sensor.cpp
@@ -209,10 +209,6 @@ CameraSensor::~CameraSensor() = default;
  *
  * \return The image source stream
  */
-V4L2Subdevice::Stream CameraSensor::imageStream() const
-{
-	return { 0, 0 };
-}
 
 /**
  * \brief Retrieve the embedded data source stream
diff --git a/src/libcamera/sensor/camera_sensor_legacy.cpp b/src/libcamera/sensor/camera_sensor_legacy.cpp
index f9e685a9..a75c8457 100644
--- a/src/libcamera/sensor/camera_sensor_legacy.cpp
+++ b/src/libcamera/sensor/camera_sensor_legacy.cpp
@@ -84,6 +84,7 @@ public:
 			       Transform transform = Transform::Identity,
 			       V4L2SubdeviceFormat *sensorFormat = nullptr) override;
 
+	V4L2Subdevice::Stream imageStream() const override;
 	const ControlList &properties() const override { return properties_; }
 	int sensorInfo(IPACameraSensorInfo *info) const override;
 	Transform computeTransform(Orientation *orientation) const override;
@@ -855,6 +856,11 @@ int CameraSensorLegacy::applyConfiguration(const SensorConfiguration &config,
 	return 0;
 }
 
+V4L2Subdevice::Stream CameraSensorLegacy::imageStream() const
+{
+	return { pad_, 0 };
+}
+
 int CameraSensorLegacy::sensorInfo(IPACameraSensorInfo *info) const
 {
 	if (!bayerFormat_)
