diff --git a/src/libcamera/include/pipeline_handler.h b/src/libcamera/include/pipeline_handler.h
index fdf8b8d..180f599 100644
--- a/src/libcamera/include/pipeline_handler.h
+++ b/src/libcamera/include/pipeline_handler.h
@@ -43,12 +43,12 @@ private:
 	static std::map<std::string, PipelineHandlerFactory *> &registry();
 };
 
-#define REGISTER_PIPELINE_HANDLER(handler) \
+#define REGISTER_PIPELINE_HANDLER(handler, name) \
 class handler##Factory : public PipelineHandlerFactory { \
 public: \
 	handler##Factory() \
 	{ \
-		PipelineHandlerFactory::registerType(#handler, this); \
+		PipelineHandlerFactory::registerType(name, this); \
 	} \
 	virtual PipelineHandler *create() { \
 		return new handler(); \
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index 720d9c2..21af902 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -88,6 +88,6 @@ bool PipeHandlerVimc::match(DeviceEnumerator *enumerator)
 	return true;
 }
 
-REGISTER_PIPELINE_HANDLER(PipeHandlerVimc);
+REGISTER_PIPELINE_HANDLER(PipeHandlerVimc, "VIMC virtual driver pipeline handler");
 
 } /* namespace libcamera */
