diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp
index 5e4b2bdc9ace..dd9a9603dcb9 100644
--- a/src/ipa/ipu3/ipu3.cpp
+++ b/src/ipa/ipu3/ipu3.cpp
@@ -5,10 +5,15 @@
  * ipu3.cpp - IPU3 Image Processing Algorithms
  */
 
+#include <algorithm>
 #include <array>
+#include <cmath>
+#include <limits>
+#include <map>
+#include <memory>
 #include <stdint.h>
-#include <sys/mman.h>
 #include <utility>
+#include <vector>
 
 #include <linux/intel-ipu3.h>
 #include <linux/v4l2-controls.h>
diff --git a/src/ipa/ipu3/ipu3_agc.cpp b/src/ipa/ipu3/ipu3_agc.cpp
index 6253ab94cff1..408eb849b428 100644
--- a/src/ipa/ipu3/ipu3_agc.cpp
+++ b/src/ipa/ipu3/ipu3_agc.cpp
@@ -8,8 +8,8 @@
 #include "ipu3_agc.h"
 
 #include <algorithm>
+#include <chrono>
 #include <cmath>
-#include <numeric>
 
 #include <libcamera/base/log.h>
 
diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h
index 3deca3ae6933..9f3d4257d945 100644
--- a/src/ipa/ipu3/ipu3_agc.h
+++ b/src/ipa/ipu3/ipu3_agc.h
@@ -7,9 +7,6 @@
 #ifndef __LIBCAMERA_IPU3_AGC_H__
 #define __LIBCAMERA_IPU3_AGC_H__
 
-#include <array>
-#include <unordered_map>
-
 #include <linux/intel-ipu3.h>
 
 #include <libcamera/base/utils.h>
diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp
index 9b409c8ffad9..4bb321b377a2 100644
--- a/src/ipa/ipu3/ipu3_awb.cpp
+++ b/src/ipa/ipu3/ipu3_awb.cpp
@@ -6,9 +6,8 @@
  */
 #include "ipu3_awb.h"
 
+#include <algorithm>
 #include <cmath>
-#include <numeric>
-#include <unordered_map>
 
 #include <libcamera/base/log.h>
 
