diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index 046fd5c6..2d0ea242 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -275,8 +275,8 @@ std::unique_ptr<IPAProxy> IPAManager::createIPA(PipelineHandler *pipe,
 	 *
 	 * \todo Implement a better proxy selection
 	 */
-	const char *proxyName = self_->isSignatureValid(m)
-			      ? "IPAProxyThread" : "IPAProxyLinux";
+	std::string pipeName(pipe->name());
+	const char *proxyName = pipeName.replace(0, 15, "IPAProxy").c_str();
 	IPAProxyFactory *pf = nullptr;
 
 	for (IPAProxyFactory *factory : IPAProxyFactory::factories()) {
