diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp
index bd55d377..a3a5ac66 100644
--- a/src/ipa/ipu3/algorithms/awb.cpp
+++ b/src/ipa/ipu3/algorithms/awb.cpp
@@ -385,6 +385,7 @@ void Awb::process(IPAContext &context, const ipu3_uapi_stats_3a *stats)
 	context.frameContext->awb.gains.blue = asyncResults_.blueGain;
 	context.frameContext->awb.gains.green = asyncResults_.greenGain;
 	context.frameContext->awb.gains.red = asyncResults_.redGain;
+	context.frameContext->awb.temperatureK = asyncResults_.temperatureK;
 }
 
 constexpr uint16_t Awb::threshold(float value)
diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp
index ea92be77..9c0407df 100644
--- a/src/ipa/ipu3/ipa_context.cpp
+++ b/src/ipa/ipu3/ipa_context.cpp
@@ -117,6 +117,9 @@ namespace libcamera::ipa::ipu3 {
  *
  * \var IPAFrameContext::awb.gains.blue
  * \brief White balance gain for B channel
+ *
+ * \var IPAFrameContext::awb.temperatureK
+ * \brief Color temperature estimated
  */
 
 /**
diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h
index 69780915..3566dea1 100644
--- a/src/ipa/ipu3/ipa_context.h
+++ b/src/ipa/ipu3/ipa_context.h
@@ -45,6 +45,8 @@ struct IPAFrameContext {
 			double green;
 			double blue;
 		} gains;
+
+		double temperatureK;
 	} awb;
 
 	struct {
