diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp
index 1653e4f4651a..18d7e86843e8 100644
--- a/src/libcamera/device_enumerator.cpp
+++ b/src/libcamera/device_enumerator.cpp
@@ -245,7 +245,7 @@ int DeviceEnumerator::addDevice(const std::string &devnode)
  *
  * \return pointer to the matching MediaDevice, or nullptr if no match is found
  */
-MediaDevice *DeviceEnumerator::search(const DeviceMatch &dm) const
+MediaDevice *DeviceEnumerator::search(const DeviceMatch &dm)
 {
 	for (MediaDevice *dev : devices_) {
 		if (dev->busy())
diff --git a/src/libcamera/include/device_enumerator.h b/src/libcamera/include/device_enumerator.h
index 29737da7a225..b68c815827dd 100644
--- a/src/libcamera/include/device_enumerator.h
+++ b/src/libcamera/include/device_enumerator.h
@@ -41,7 +41,7 @@ public:
 	virtual int init() = 0;
 	virtual int enumerate() = 0;
 
-	MediaDevice *search(const DeviceMatch &dm) const;
+	MediaDevice *search(const DeviceMatch &dm);
 
 protected:
 	int addDevice(const std::string &devnode);
