diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index f689aa69b7284092..7ea7a8cbff5f15a0 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -34,10 +34,11 @@ IPAManager::IPAManager()
 {
 	addDir(IPA_MODULE_DIR);
 
-	std::string modulePaths = utils::secure_getenv("LIBCAMERA_IPA_MODULE_PATH");
-	if (modulePaths.empty())
+	const char *envModulePaths = utils::secure_getenv("LIBCAMERA_IPA_MODULE_PATH");
+	if (!envModulePaths)
 		return;
 
+	std::string modulePaths = envModulePaths;
 	for (size_t pos = 0, delim = 0; delim != std::string::npos;
 	     pos = delim + 1) {
 		delim = modulePaths.find(':', pos);
