Index: code/fred2/initialstatus.cpp
===================================================================
--- code/fred2/initialstatus.cpp	(revision 10911)
+++ code/fred2/initialstatus.cpp	(working copy)
@@ -540,7 +540,7 @@
 	if (m_team_color_setting.IsWindowEnabled() && m_team_color_setting.GetCurSel() > 0)
 		Ships[m_ship].team_name = Team_Names[m_team_color_setting.GetCurSel() - 1];
 	else
-		Ships[m_ship].team_name = "None";
+		Ships[m_ship].team_name = "none";
 
 	update_docking_info();
 
Index: code/graphics/gropengltnl.cpp
===================================================================
--- code/graphics/gropengltnl.cpp	(revision 10911)
+++ code/graphics/gropengltnl.cpp	(working copy)
@@ -484,7 +484,7 @@
 }
 
 void gr_opengl_set_team_color(const SCP_string &team, const SCP_string &secondaryteam, fix timestamp, int fadetime) {
-	if (secondaryteam == "<none>") {
+	if (!stricmp(secondaryteam.c_str(), "none")) {
 		if (Team_Colors.find(team) != Team_Colors.end()) {
 			Current_team_color = &Team_Colors[team];
 			Using_Team_Color = true;
Index: code/graphics/gropengltnl.h
===================================================================
--- code/graphics/gropengltnl.h	(revision 10911)
+++ code/graphics/gropengltnl.h	(working copy)
@@ -56,7 +56,7 @@
 int gr_opengl_end_state_block();
 void gr_opengl_set_state_block(int);
 
-void gr_opengl_set_team_color(const SCP_string &team, const SCP_string &secondaryteam = "<none>", fix timestamp = 0, int fadetime = 0);
+void gr_opengl_set_team_color(const SCP_string &team, const SCP_string &secondaryteam = "none", fix timestamp = 0, int fadetime = 0);
 void gr_opengl_disable_team_color();
 
 void opengl_tnl_shutdown();
Index: code/lab/lab.cpp
===================================================================
--- code/lab/lab.cpp	(revision 10911)
+++ code/lab/lab.cpp	(working copy)
@@ -728,7 +728,7 @@
 		}
 
 		if (sip->uses_team_colors && !Teamcolor_override) {
-			gr_set_team_color(Lab_team_color, "<none>", 0, 0);
+			gr_set_team_color(Lab_team_color, "none", 0, 0);
 		}
 	}
 
Index: code/menuui/techmenu.cpp
===================================================================
--- code/menuui/techmenu.cpp	(revision 10911)
+++ code/menuui/techmenu.cpp	(working copy)
@@ -468,7 +468,7 @@
 	ship_info *sip = &Ship_info[Cur_entry_index];
 
 	if (sip->uses_team_colors) {
-		gr_set_team_color(sip->default_team_name, "<none>", 0, 0);
+		gr_set_team_color(sip->default_team_name, "none", 0, 0);
 	}
 
 	// get correct revolution rate
Index: code/missionui/missionshipchoice.cpp
===================================================================
--- code/missionui/missionshipchoice.cpp	(revision 10911)
+++ code/missionui/missionshipchoice.cpp	(working copy)
@@ -1538,7 +1538,7 @@
 			}
 
 			if (sip->uses_team_colors) {
-				gr_set_team_color(sip->default_team_name, "<none>", 0, 0);
+				gr_set_team_color(sip->default_team_name, "none", 0, 0);
 			}
 
 			draw_model_rotating(ShipSelectModelNum,
Index: code/object/object.cpp
===================================================================
--- code/object/object.cpp	(revision 10911)
+++ code/object/object.cpp	(working copy)
@@ -1244,12 +1244,12 @@
 
 			//Check for changing team colors
 			ship* shipp = &Ships[objp->instance];
-			if (Ship_info[shipp->ship_info_index].uses_team_colors && shipp->secondary_team_name != "<none>") {
+			if (Ship_info[shipp->ship_info_index].uses_team_colors && stricmp(shipp->secondary_team_name.c_str(), "none")) {
 				if (f2fl(Missiontime) * 1000 > f2fl(shipp->team_change_timestamp) * 1000 + shipp->team_change_time) {
 					shipp->team_name = shipp->secondary_team_name;
 					shipp->team_change_timestamp = 0;
 					shipp->team_change_time = 0;
-					shipp->secondary_team_name = "<none>";
+					shipp->secondary_team_name = "none";
 				}
 			}
 
Index: code/parse/lua.cpp
===================================================================
--- code/parse/lua.cpp	(revision 10911)
+++ code/parse/lua.cpp	(working copy)
@@ -6041,7 +6041,7 @@
 	ship_info *sip = &Ship_info[idx];
 
 	if (sip->uses_team_colors) {
-		gr_set_team_color(sip->default_team_name, "<none>", 0, 0);
+		gr_set_team_color(sip->default_team_name, "none", 0, 0);
 	}
 
 	//Make sure model is loaded
@@ -6119,7 +6119,7 @@
 	ship_info *sip = &Ship_info[idx];
 
 	if (sip->uses_team_colors) {
-		gr_set_team_color(sip->default_team_name, "<none>", 0, 0);
+		gr_set_team_color(sip->default_team_name, "none", 0, 0);
 	}
 
 	//Make sure model is loaded
Index: code/parse/sexp.cpp
===================================================================
--- code/parse/sexp.cpp	(revision 10911)
+++ code/parse/sexp.cpp	(working copy)
@@ -2768,6 +2768,9 @@
 					return SEXP_CHECK_TYPE_MISMATCH;
 				}
 
+				if (!stricmp(CTEXT(node), "none"))
+					break;
+
 				if (Team_Colors.find(CTEXT(node)) == Team_Colors.end())
 					return SEXP_CHECK_INVALID_TEAM_COLOR;
 				
@@ -27889,6 +27892,9 @@
 		case SEXP_CHECK_INVALID_SHIP_FLAG:
 			return "Invalid ship flag";
 
+		case SEXP_CHECK_INVALID_TEAM_COLOR:
+			return "Not a valid Team Color setting";
+
 		default:
 			Warning(LOCATION, "Unhandled sexp error code %d!", num);
 			return "Unhandled sexp error code!";
Index: code/ship/ship.cpp
===================================================================
--- code/ship/ship.cpp	(revision 10911)
+++ code/ship/ship.cpp	(working copy)
@@ -5313,7 +5313,7 @@
 
 	// Team colors
 	shipp->team_name.assign( sip->default_team_name);
-	shipp->secondary_team_name = "<none>";
+	shipp->secondary_team_name = "none";
 
 	shipp->autoaim_fov = sip->autoaim_fov;
 }
