diff --git a/aom_dsp/arm/highbd_convolve8_sve.c b/aom_dsp/arm/highbd_convolve8_sve.c
index ef97718..fac65c9 100644
--- a/aom_dsp/arm/highbd_convolve8_sve.c
+++ b/aom_dsp/arm/highbd_convolve8_sve.c
@@ -667,7 +667,7 @@
                                    const int16_t *filter_y, int y_step_q4,
                                    int width, int height, int bd) {
   assert(y_step_q4 == 16);
-  assert(w >= 4 && h >= 4);
+  assert(width >= 4 && height >= 4);
   (void)filter_x;
   (void)y_step_q4;
   (void)x_step_q4;
diff --git a/av1/common/arm/highbd_convolve_sve2.c b/av1/common/arm/highbd_convolve_sve2.c
index 82eb12f..e6e2771 100644
--- a/av1/common/arm/highbd_convolve_sve2.c
+++ b/av1/common/arm/highbd_convolve_sve2.c
@@ -566,7 +566,7 @@
                                     uint16_t *dst, ptrdiff_t dst_stride,
                                     int width, int height,
                                     const int16_t *filter_y, int bd) {
-  assert(w >= 4 && h >= 4);
+  assert(width >= 4 && height >= 4);
 
   const int16x8_t y_filter = vld1q_s16(filter_y);
 
@@ -735,7 +735,7 @@
                                     uint16_t *dst, ptrdiff_t dst_stride,
                                     int width, int height,
                                     const int16_t *filter_y, int bd) {
-  assert(w >= 4 && h >= 4);
+  assert(width >= 4 && height >= 4);
 
   const int16x8_t y_filter =
       vcombine_s16(vld1_s16(filter_y + 2), vdup_n_s16(0));
@@ -1352,7 +1352,7 @@
                                           int height, const int16_t *filter_y,
                                           ConvolveParams *conv_params, int bd,
                                           const int y_offset) {
-  assert(w >= 4 && h >= 4);
+  assert(width >= 4 && height >= 4);
   const int64x2_t offset = vdupq_n_s64(y_offset);
   const int32x4_t shift = vdupq_n_s32(-conv_params->round_1);
   const int16x8_t y_filter = vld1q_s16(filter_y);
@@ -1542,7 +1542,7 @@
                                           int height, const int16_t *filter_y,
                                           ConvolveParams *conv_params, int bd,
                                           const int y_offset) {
-  assert(w >= 4 && h >= 4);
+  assert(width >= 4 && height >= 4);
   const int64x2_t offset = vdupq_n_s64(y_offset);
   const int32x4_t shift = vdupq_n_s32(-conv_params->round_1);
 
