Index: code/ship/ship.cpp
===================================================================
--- code/ship/ship.cpp	(revision 6813)
+++ code/ship/ship.cpp	(working copy)
@@ -4737,6 +4737,11 @@
 	}
 	shipp->armor_type_idx = sip->armor_type_idx;
 	shipp->shield_armor_type_idx = sip->shield_armor_type_idx;
+
+	//Stealth business
+	if (sip->flags & SIF_STEALTH) {
+		shipp->flags2 |= SF2_STEALTH;
+	}
 }
 
 // function which recalculates the overall strength of subsystems.  Needed because
@@ -8545,6 +8550,11 @@
 	physics_ship_init(&Objects[sp->objnum]);
 	ets_init_ship(&Objects[sp->objnum]);
 
+	// If the new class is stealthy, make this ship stealthy as well
+	if (sip->flags & SIF_STEALTH) {
+		sp->flags2 |= SF2_STEALTH;
+	}
+
 	// Reset physics to previous values
 	if (by_sexp) {
 		Objects[sp->objnum].phys_info.desired_rotvel = ph_inf.desired_rotvel;
