diff --git a/camera/CameraSessionStats.cpp b/camera/CameraSessionStats.cpp
index 3954db5..9e9793d 100644
--- a/camera/CameraSessionStats.cpp
+++ b/camera/CameraSessionStats.cpp
@@ -279,7 +279,8 @@
         mResultErrorCount(0),
         mDeviceError(false),
         mVideoStabilizationMode(-1),
-        mSessionIndex(0) {}
+        mSessionIndex(0),
+        mCameraExtensionSessionStats() {}
 
 CameraSessionStats::CameraSessionStats(const String16& cameraId,
         int facing, int newCameraState, const String16& clientName,
@@ -299,7 +300,8 @@
                 mResultErrorCount(0),
                 mDeviceError(0),
                 mVideoStabilizationMode(-1),
-                mSessionIndex(0) {}
+                mSessionIndex(0),
+                mCameraExtensionSessionStats() {}
 
 status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
     if (parcel == NULL) {
@@ -417,6 +419,12 @@
         return err;
     }
 
+    CameraExtensionSessionStats extStats{};
+    if ((err = extStats.readFromParcel(parcel)) != OK) {
+        ALOGE("%s: Failed to read extension session stats from parcel", __FUNCTION__);
+        return err;
+    }
+
     mCameraId = id;
     mFacing = facing;
     mNewCameraState = newCameraState;
@@ -435,6 +443,7 @@
     mUserTag = userTag;
     mVideoStabilizationMode = videoStabilizationMode;
     mSessionIndex = sessionIdx;
+    mCameraExtensionSessionStats = extStats;
 
     return OK;
 }
@@ -537,6 +546,11 @@
         return err;
     }
 
+    if ((err = mCameraExtensionSessionStats.writeToParcel(parcel)) != OK) {
+        ALOGE("%s: Failed to write extension sessions stats!", __FUNCTION__);
+        return err;
+    }
+
     return OK;
 }
 
