diff --git a/cmd-set-option.c b/cmd-set-option.c
index f68fd47c..8ef39ffe 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-set-option.c,v 1.64 2009-07-08 18:03:03 nicm Exp $ */
+/* $Id: cmd-set-option.c,v 1.65 2009-07-12 17:07:58 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -53,6 +53,7 @@ const struct set_option_entry set_option_table[NSETOPTION] = {
 	{ "buffer-limit", SET_OPTION_NUMBER, 1, INT_MAX, NULL },
 	{ "default-command", SET_OPTION_STRING, 0, 0, NULL },
 	{ "default-path", SET_OPTION_STRING, 0, 0, NULL },
+	{ "default-terminal", SET_OPTION_STRING, 0, 0, NULL },
 	{ "display-time", SET_OPTION_NUMBER, 1, INT_MAX, NULL },
 	{ "history-limit", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 	{ "lock-after-time", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
diff --git a/server-fn.c b/server-fn.c
index 9c920e28..db65c175 100644
--- a/server-fn.c
+++ b/server-fn.c
@@ -1,4 +1,4 @@
-/* $Id: server-fn.c,v 1.69 2009-07-08 18:07:09 nicm Exp $ */
+/* $Id: server-fn.c,v 1.70 2009-07-12 17:07:58 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -30,8 +30,8 @@ int	server_lock_callback(void *, const char *);
 const char **
 server_fill_environ(struct session *s)
 {
-	static const char *env[] = { NULL /* TMUX= */, "TERM=screen", NULL };
-	static char	tmuxvar[MAXPATHLEN + 256];
+	static const char *env[] = { NULL /* TMUX= */, NULL /* TERM */, NULL };
+	static char	tmuxvar[MAXPATHLEN + 256], termvar[256];
 	u_int		idx;
 
 	if (session_index(s, &idx) != 0)
@@ -41,6 +41,10 @@ server_fill_environ(struct session *s)
 	    "TMUX=%s,%ld,%u", socket_path, (long) getpid(), idx);
 	env[0] = tmuxvar;
 
+	xsnprintf(termvar, sizeof termvar,
+	    "TERM=%s", options_get_string(&s->options, "default-terminal"));
+	env[1] = termvar;
+
 	return (env);
 }
 
diff --git a/tmux.1 b/tmux.1
index 5f1c9d47..47a7a66f 100644
--- a/tmux.1
+++ b/tmux.1
@@ -1,4 +1,4 @@
-.\" $Id: tmux.1,v 1.108 2009-07-12 17:04:21 nicm Exp $
+.\" $Id: tmux.1,v 1.109 2009-07-12 17:07:58 nicm Exp $
 .\"
 .\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 .\"
@@ -1090,6 +1090,18 @@ environment variable or, if it is unset, the user's shell returned by
 Set the default working directory for processes created from keys, or
 interactively from the prompt.
 The default is the current working directory when the server is started.
+.It Ic default-terminal Ar terminal
+Set the default terminal for new windows created in this session - the
+default value of the
+.Ev TERM
+environment variable.
+For
+.Nm
+to work correctly, this
+.Em must
+be set to
+.Ql screen
+or a derivative of it.
 .It Ic display-time Ar time
 Set the amount of time for which status line messages are displayed.
 .Ar time
diff --git a/tmux.c b/tmux.c
index 8ecb75d3..b24c8626 100644
--- a/tmux.c
+++ b/tmux.c
@@ -1,4 +1,4 @@
-/* $Id: tmux.c,v 1.141 2009-07-08 18:12:57 nicm Exp $ */
+/* $Id: tmux.c,v 1.142 2009-07-12 17:07:58 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -279,6 +279,7 @@ main(int argc, char **argv)
 	options_set_number(&global_s_options, "bell-action", BELL_ANY);
 	options_set_number(&global_s_options, "buffer-limit", 9);
 	options_set_string(&global_s_options, "default-command", "%s", "");
+	options_set_string(&global_s_options, "default-terminal", "screen");
 	options_set_number(&global_s_options, "display-time", 750);
 	options_set_number(&global_s_options, "history-limit", 2000);
 	options_set_number(&global_s_options, "lock-after-time", 0);
diff --git a/tmux.h b/tmux.h
index d1b3b8fd..9ccf0752 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1,4 +1,4 @@
-/* $Id: tmux.h,v 1.353 2009-07-09 18:14:18 nicm Exp $ */
+/* $Id: tmux.h,v 1.354 2009-07-12 17:07:58 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -934,7 +934,7 @@ struct set_option_entry {
 };
 extern const struct set_option_entry set_option_table[];
 extern const struct set_option_entry set_window_option_table[];
-#define NSETOPTION 25
+#define NSETOPTION 26
 #define NSETWINDOWOPTION 19
 
 /* tmux.c */