diff --git a/include/libcamera/base/regex.h b/include/libcamera/base/regex.h
index 45f4da8cb..c80cca6fe 100644
--- a/include/libcamera/base/regex.h
+++ b/include/libcamera/base/regex.h
@@ -8,7 +8,7 @@
 #include <libcamera/base/private.h>
 
 #pragma GCC diagnostic push
-#if defined __SANITIZE_ADDRESS__ && defined __OPTIMIZE__
+#if (defined(__GNUC__) && !defined(__clang__)) && defined __SANITIZE_ADDRESS__ && defined __OPTIMIZE__
 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
 #include <regex>
