diff --git a/src/libcamera/include/media_device.h b/src/libcamera/include/media_device.h
index d787be3..9db18bb 100644
--- a/src/libcamera/include/media_device.h
+++ b/src/libcamera/include/media_device.h
@@ -34,7 +34,7 @@ public:
 	const std::string devnode() const { return devnode_; }

 	const std::vector<MediaEntity *> &entities() const { return entities_; }
-	MediaEntity *getEntityByName(const std::string &name);
+	MediaEntity *getEntityByName(const std::string &name) const;

 private:
 	std::string driver_;
diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
index 9fbc5a7..25d1825 100644
--- a/src/libcamera/media_device.cpp
+++ b/src/libcamera/media_device.cpp
@@ -244,7 +244,7 @@ int MediaDevice::populate()
  * \return The entity with \a name
  * \return nullptr if no entity with \a name is found
  */
-MediaEntity *MediaDevice::getEntityByName(const std::string &name)
+MediaEntity *MediaDevice::getEntityByName(const std::string &name) const
 {
 	for (MediaEntity *e : entities_)
 		if (e->name() == name)
