diff --git a/av1/common/restoration.c b/av1/common/restoration.c
index 11b72fd..921e6c2 100644
--- a/av1/common/restoration.c
+++ b/av1/common/restoration.c
@@ -1851,7 +1851,6 @@
                                      int stripe, int use_highbd, int is_above,
                                      RestorationStripeBoundaries *boundaries) {
   const int is_uv = plane > 0;
-  const int src_height = frame->crop_heights[is_uv];
   const uint8_t *src_buf = REAL_PTR(use_highbd, frame->buffers[plane]);
   const int src_stride = frame->strides[is_uv] << use_highbd;
   const uint8_t *src_rows = src_buf + row * src_stride;
@@ -1862,7 +1861,6 @@
   const int bdry_stride = boundaries->stripe_boundary_stride << use_highbd;
   uint8_t *bdry_rows = bdry_start + RESTORATION_CTX_VERT * stripe * bdry_stride;
 
-  const int lines_to_save = AOMMIN(RESTORATION_CTX_VERT, src_height - row);
 #if CONFIG_FRAME_SUPERRES
   // At the point where this function is called, we've already applied
   // superres. So we don't need to extend the lines here, we can just
@@ -1875,14 +1873,14 @@
   const int upscaled_width = src_width;
 #endif  // CONFIG_FRAME_SUPERRES
   const int line_bytes = upscaled_width << use_highbd;
-  for (int i = 0; i < lines_to_save; i++) {
+  for (int i = 0; i < RESTORATION_CTX_VERT; i++) {
     // Copy the line at 'row' into both context lines. This is because
     // we want to (effectively) extend the outermost row of CDEF data
     // from this tile to produce a border, rather than using deblocked
     // pixels from the tile above/below.
     memcpy(bdry_rows + i * bdry_stride, src_rows, line_bytes);
   }
-  extend_lines(bdry_rows, upscaled_width, lines_to_save, bdry_stride,
+  extend_lines(bdry_rows, upscaled_width, RESTORATION_CTX_VERT, bdry_stride,
                RESTORATION_EXTRA_HORZ, use_highbd);
 }
 
