diff --git a/src/ipa/raspberrypi/controller/rpi/agc.cpp b/src/ipa/raspberrypi/controller/rpi/agc.cpp
index df4d364..6ae774d 100644
--- a/src/ipa/raspberrypi/controller/rpi/agc.cpp
+++ b/src/ipa/raspberrypi/controller/rpi/agc.cpp
@@ -148,14 +148,14 @@ Agc::Agc(Controller *controller)
 	  exposure_mode_(nullptr), constraint_mode_(nullptr),
 	  frame_count_(0), lock_count_(0)
 {
-	ev_ = status_.ev = 1.0;
-	flicker_period_ = status_.flicker_period = 0.0;
-	fixed_shutter_ = status_.fixed_shutter = 0;
-	fixed_analogue_gain_ = status_.fixed_analogue_gain = 0.0;
-	// set to zero initially, so we can tell it's not been calculated
-	status_.total_exposure_value = 0.0;
-	status_.target_exposure_value = 0.0;
-	status_.locked = false;
+	memset(&status_, 0, sizeof(status_));
+	status_.ev = 1.0;
+
+	ev_ = status_.ev;
+	flicker_period_ = status_.flicker_period;
+	fixed_shutter_ = status_.fixed_shutter;
+	fixed_analogue_gain_ = status_.fixed_analogue_gain;
+
 	output_status_ = status_;
 }
 
