diff --git a/cmd-copy-mode.c b/cmd-copy-mode.c index 59b5a9e5..883a9376 100644 --- a/cmd-copy-mode.c +++ b/cmd-copy-mode.c @@ -54,9 +54,11 @@ cmd_copy_mode_exec(struct cmd *self, struct cmd_q *cmdq) if (cmd_find_pane(cmdq, args_get(args, 't'), NULL, &wp) == NULL) return (CMD_RETURN_ERROR); - if (window_pane_set_mode(wp, &window_copy_mode) != 0) - return (CMD_RETURN_NORMAL); - window_copy_init_from_pane(wp); + if (wp->mode != &window_copy_mode) { + if (window_pane_set_mode(wp, &window_copy_mode) != 0) + return (CMD_RETURN_NORMAL); + window_copy_init_from_pane(wp); + } if (wp->mode == &window_copy_mode && args_has(self->args, 'u')) window_copy_pageup(wp);