diff --git a/src/apps/qcam/viewfinder_gl.cpp b/src/apps/qcam/viewfinder_gl.cpp
index 1d3f48917..fb9717ce1 100644
--- a/src/apps/qcam/viewfinder_gl.cpp
+++ b/src/apps/qcam/viewfinder_gl.cpp
@@ -477,6 +477,7 @@ bool ViewFinderGL::createFragmentShader()
 	blackLevelUniformDataIn_ = shaderProgram_.uniformLocation("blacklevel");
 	gammaUniformDataIn_ = shaderProgram_.uniformLocation("gamma");
 	contrastExpUniformDataIn_ = shaderProgram_.uniformLocation("contrastExp");
+	awbUniformDataIn_ = shaderProgram_.uniformLocation("awb");
 
 	/* Create the textures. */
 	for (std::unique_ptr<QOpenGLTexture> &texture : textures_) {
@@ -556,6 +557,9 @@ void ViewFinderGL::doRender()
 	/* Black Level */
 	QVector3D qBlackLevelVec(0.0f, 0.0f, 0.0f);
 
+	/* AWB */
+	QVector3D qAwbVec(1.0f, 1.0f, 1.0f);
+
 	switch (format_) {
 	case libcamera::formats::NV12:
 	case libcamera::formats::NV21:
@@ -809,6 +813,9 @@ void ViewFinderGL::doRender()
 		/* Black Level */
 		shaderProgram_.setUniformValue(blackLevelUniformDataIn_, qBlackLevelVec);
 
+		/* AWB */
+		shaderProgram_.setUniformValue(awbUniformDataIn_, qAwbVec);
+
 		/* Gamma */
 		shaderProgram_.setUniformValue(gammaUniformDataIn_, 1.0f);
 
diff --git a/src/apps/qcam/viewfinder_gl.h b/src/apps/qcam/viewfinder_gl.h
index 1aa85e4fc..8f033b407 100644
--- a/src/apps/qcam/viewfinder_gl.h
+++ b/src/apps/qcam/viewfinder_gl.h
@@ -109,6 +109,9 @@ private:
 	/* Black Level compensation */
 	GLint blackLevelUniformDataIn_;
 
+	/* AWB */
+	GLint awbUniformDataIn_;
+
 	/* Gamma */
 	GLint gammaUniformDataIn_;
 
