diff --git a/cmd-display-message.c b/cmd-display-message.c
index 59f25543..5856e2d8 100644
--- a/cmd-display-message.c
+++ b/cmd-display-message.c
@@ -89,10 +89,8 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item)
 	msg = format_expand_time(ft, template, time(NULL));
 	if (args_has(self->args, 'p'))
 		cmdq_print(item, "%s", msg);
-	else {
-		if (c != NULL)
-			status_message_set(c, "%s", msg);
-	}
+	else if (c != NULL)
+		status_message_set(c, "%s", msg);
 	free(msg);
 
 	format_free(ft);
diff --git a/options-table.c b/options-table.c
index f611ba0f..2b6b794b 100644
--- a/options-table.c
+++ b/options-table.c
@@ -513,8 +513,8 @@ const struct options_table_entry options_table[] = {
 	{ .name = "update-environment",
 	  .type = OPTIONS_TABLE_ARRAY,
 	  .scope = OPTIONS_TABLE_SESSION,
-	  .default_str = "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID "
-			 "SSH_CONNECTION WINDOWID XAUTHORITY"
+	  .default_str = "DISPLAY KRB5CCNAME SSH_ASKPASS SSH_AUTH_SOCK "
+	  		 "SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
 	},
 
 	{ .name = "visual-activity",
diff --git a/tmux.1 b/tmux.1
index 40fb1690..a4a346f5 100644
--- a/tmux.1
+++ b/tmux.1
@@ -2755,8 +2755,7 @@ to
 from the 256-colour set,
 .Ic default ,
 or a hexadecimal RGB string such as
-.Ql #ffffff ,
-which chooses the closest match from the default 256-colour set.
+.Ql #ffffff .
 .Pp
 The attributes is either
 .Ic none
diff --git a/window-copy.c b/window-copy.c
index 6eb3d435..09025497 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1548,7 +1548,7 @@ window_copy_get_selection(struct window_pane *wp, size_t *len)
 	char				*buf;
 	size_t				 off;
 	u_int				 i, xx, yy, sx, sy, ex, ey, ey_last;
-	u_int				 firstsx, lastex, restex, restsx;
+	u_int				 firstsx, lastex, restex, restsx, selx;
 	int				 keys;
 
 	if (!s->sel.flag && s->sel.lineflag == LINE_SEL_NONE)
@@ -1599,7 +1599,11 @@ window_copy_get_selection(struct window_pane *wp, size_t *len)
 		 * Need to ignore the column with the cursor in it, which for
 		 * rectangular copy means knowing which side the cursor is on.
 		 */
-		if (data->selx < data->cx) {
+		if (data->cursordrag == CURSORDRAG_ENDSEL)
+			selx = data->selx;
+		else
+			selx = data->endselx;
+		if (selx < data->cx) {
 			/* Selection start is on the left. */
 			if (keys == MODEKEY_EMACS) {
 				lastex = data->cx;
@@ -1609,12 +1613,12 @@ window_copy_get_selection(struct window_pane *wp, size_t *len)
 				lastex = data->cx + 1;
 				restex = data->cx + 1;
 			}
-			firstsx = data->selx;
-			restsx = data->selx;
+			firstsx = selx;
+			restsx = selx;
 		} else {
 			/* Cursor is on the left. */
-			lastex = data->selx + 1;
-			restex = data->selx + 1;
+			lastex = selx + 1;
+			restex = selx + 1;
 			firstsx = data->cx;
 			restsx = data->cx;
 		}