diff --git a/av1/encoder/mcomp.c b/av1/encoder/mcomp.c
index eb4a463..164051b 100644
--- a/av1/encoder/mcomp.c
+++ b/av1/encoder/mcomp.c
@@ -668,7 +668,7 @@
                                 unsigned int *sse) {
   unsigned int besterr;
   if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
-    DECLARE_ALIGNED(16, uint16_t, pred16[MAX_SB_SQUARE]);
+    DECLARE_ALIGNED(16, uint16_t, pred16[MAX_SB_SQUARE]) = { 0 };
     if (second_pred != NULL) {
       if (mask) {
         aom_highbd_comp_mask_upsampled_pred(
@@ -693,7 +693,7 @@
 
     besterr = vfp->vf(CONVERT_TO_BYTEPTR(pred16), w, src, src_stride, sse);
   } else {
-    DECLARE_ALIGNED(16, uint8_t, pred[MAX_SB_SQUARE]);
+    DECLARE_ALIGNED(16, uint8_t, pred[MAX_SB_SQUARE]) = { 0 };
     if (second_pred != NULL) {
       if (mask) {
         aom_comp_mask_upsampled_pred(pred, second_pred, w, h, subpel_x_q3,
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 5e3ff1b..e00d4ed 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8505,8 +8505,8 @@
       int best_tmp_rate_mv = rate_mv;
       int tmp_skip_txfm_sb;
       int64_t tmp_skip_sse_sb;
-      DECLARE_ALIGNED(16, uint8_t, pred0[2 * MAX_SB_SQUARE]);
-      DECLARE_ALIGNED(16, uint8_t, pred1[2 * MAX_SB_SQUARE]);
+      DECLARE_ALIGNED(16, uint8_t, pred0[2 * MAX_SB_SQUARE]) = { 0 };
+      DECLARE_ALIGNED(16, uint8_t, pred1[2 * MAX_SB_SQUARE]) = { 0 };
       uint8_t *preds0[1] = { pred0 };
       uint8_t *preds1[1] = { pred1 };
       int strides[1] = { bw };
