Index: mission/missionparse.cpp
===================================================================
--- mission/missionparse.cpp	(revision 9390)
+++ mission/missionparse.cpp	(working copy)
@@ -2403,8 +2403,19 @@
 		objp->flags |= OF_PROTECTED;
 
 	if (parse_flags & P_SF_REINFORCEMENT)
-		shipp->flags |= SF_REINFORCEMENT;
+	{
+		// Individual ships in wings can't be reinforecments - FUBAR
+		if (shipp->wingnum >= 0)
+		{ 
+			Warning (LOCATION, "Ship %s is a reinforcment unit but is a member of a wing.  Ignoring flag.", shipp->ship_name);
+		}
+		else
+		{
+			shipp->flags |= SF_REINFORCEMENT;
+		}
+	}
 
+
 	Assert(!((parse_flags & P_OF_NO_SHIELDS) && (parse_flags2 & P2_OF_FORCE_SHIELDS_ON)));
 	if (parse_flags & P_OF_NO_SHIELDS)
 		objp->flags |= OF_NO_SHIELDS;
@@ -4916,7 +4927,16 @@
 			return;
 		}
 	} else {
-		instance = rforce_obj->wingnum;
+		// Individual ships in wings can't be reinforecments - FUBAR
+		if (rforce_obj->wingnum >= 0)
+		{
+			Warning(LOCATION, "Reinforcement %s is part of a wing - Ignoring", ptr->name);
+			return;
+		}
+		else
+		{
+			instance = rforce_obj->wingnum;
+		}
 	}
 
 	// now, if the reinforcement is a wing, then set the number of waves of the wing == number of
