diff --git a/src/screenshooter.c b/src/screenshooter.c
index 7ba475d..90dd497 100644
--- a/src/screenshooter.c
+++ b/src/screenshooter.c
@@ -43,16 +43,15 @@
 };
 
 static void
-copy_bgra_yflip(uint8_t *dst, uint8_t *src, int height,
-		int dst_stride, int src_stride)
+copy_bgra_yflip(uint8_t *dst, uint8_t *src, int height, int stride)
 {
 	uint8_t *end;
 
-	end = dst + height * dst_stride;
+	end = dst + height * stride;
 	while (dst < end) {
-		memcpy(dst, src, src_stride);
-		dst += dst_stride;
-		src -= src_stride;
+		memcpy(dst, src, stride);
+		dst += stride;
+		src -= stride;
 	}
 }
 
@@ -74,16 +73,15 @@
 }
 
 static void
-copy_rgba_yflip(uint8_t *dst, uint8_t *src, int height,
-		int dst_stride, int src_stride)
+copy_rgba_yflip(uint8_t *dst, uint8_t *src, int height, int stride)
 {
 	uint8_t *end;
 
-	end = dst + height * dst_stride;
+	end = dst + height * stride;
 	while (dst < end) {
-		copy_row_swap_RB(dst, src, src_stride);
-		dst += dst_stride;
-		src -= src_stride;
+		copy_row_swap_RB(dst, src, stride);
+		dst += stride;
+		src -= stride;
 	}
 }
 
@@ -93,24 +91,20 @@
 {
 	struct screenshooter_read_pixels *r =
 		(struct screenshooter_read_pixels *) base;
-	int32_t buffer_stride, output_stride;
+	int32_t stride;
 	uint8_t *d, *s;
 
-	buffer_stride = wl_shm_buffer_get_stride(r->buffer);
-	output_stride = output->current->width * 4;
+	stride = wl_shm_buffer_get_stride(r->buffer);
 
-	d = wl_shm_buffer_get_data(r->buffer) +
-		output->y * buffer_stride + output->x * 4;
-	s = r->base.data + output_stride * (output->current->height - 1);
+	d = wl_shm_buffer_get_data(r->buffer);
+	s = r->base.data + stride * (r->buffer->height - 1);
 
 	switch (output->compositor->read_format) {
 	case GL_BGRA_EXT:
-		copy_bgra_yflip(d, s, output->current->height,
-				buffer_stride, output_stride);
+		copy_bgra_yflip(d, s, output->current->height, stride);
 		break;
 	case GL_RGBA:
-		copy_rgba_yflip(d, s, output->current->height,
-				buffer_stride, output_stride);
+		copy_rgba_yflip(d, s, output->current->height, stride);
 		break;
 	default:
 		break;
