diff --git a/window-copy.c b/window-copy.c
index f690c7c..16f7e24 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -2007,6 +2007,11 @@ window_copy_scroll_up(struct window_pane *wp, u_int ny)
 	screen_write_cursormove(&ctx, data->cx, data->cy);
 	window_copy_update_selection(wp);
 	screen_write_stop(&ctx);
+	if (s->sel.flag) {
+		window_copy_redraw_lines(wp, 0, 1);
+		if (screen_size_y(s) > 1)
+			window_copy_redraw_lines(wp, 1, 1);
+	}
 }
 
 void
@@ -2037,6 +2042,11 @@ window_copy_scroll_down(struct window_pane *wp, u_int ny)
 	screen_write_cursormove(&ctx, data->cx, data->cy);
 	window_copy_update_selection(wp);
 	screen_write_stop(&ctx);
+	if (s->sel.flag) {
+		window_copy_redraw_lines(wp, 0, 1);
+		if (screen_size_y(s) > 1)
+			window_copy_redraw_lines(wp, 1, 1);
+	}
 }
 
 void
