Index: code/ai/aicode.cpp
===================================================================
--- code/ai/aicode.cpp	(revision 10924)
+++ code/ai/aicode.cpp	(working copy)
@@ -10845,12 +10845,17 @@
 		{
 			// call the ai_abort rearm request code
 			ai_abort_rearm_request( Pl_objp );
+			// Goober5000 - add missionlog for support ships, per Mantis #2999
+			mission_log_add_entry(LOG_SHIP_UNDOCKED, shipp->ship_name, goal_shipp->ship_name);
 		}
 		//	Make sure repair has not broken off.
 		else if (dist > 5.0f)	//	Oops, too far away!
 		{
-			if ( goal_aip->ai_flags & AIF_BEING_REPAIRED )
+			if ( goal_aip->ai_flags & AIF_BEING_REPAIRED ) {
 				ai_do_objects_repairing_stuff( goal_objp, Pl_objp, REPAIR_INFO_BROKEN);
+				// Goober5000 - add missionlog for support ships, per Mantis #2999
+				mission_log_add_entry(LOG_SHIP_UNDOCKED, shipp->ship_name, goal_shipp->ship_name);
+			}
 
 			if (dist > Pl_objp->radius*2 + goal_objp->radius*2) {
 				//	Got real far away from goal, so move back a couple modes and try again.
@@ -10864,8 +10869,11 @@
 		}
 		else
 		{
-			if ( goal_aip->ai_flags & AIF_AWAITING_REPAIR )
+			if ( goal_aip->ai_flags & AIF_AWAITING_REPAIR ) {
 				ai_do_objects_repairing_stuff( goal_objp, Pl_objp, REPAIR_INFO_BEGIN );
+				// Goober5000 - add missionlog for support ships, per Mantis #2999
+				mission_log_add_entry(LOG_SHIP_DOCKED, shipp->ship_name, goal_shipp->ship_name);
+			}
 		}
 
 		break;
@@ -10982,9 +10990,10 @@
 			model_anim_start_type(goal_shipp, TRIGGER_TYPE_DOCKING_STAGE_2, dockee_index, -1);
 
 			// don't add undock log entries for support ships.
-			if ( !(sip->flags & SIF_SUPPORT) ) {
+			// Goober5000 - add missionlog for support ships, per Mantis #2999
+//			if ( !(sip->flags & SIF_SUPPORT) ) {
 				mission_log_add_entry(LOG_SHIP_UNDOCKED, shipp->ship_name, goal_shipp->ship_name);
-			}
+//			}
 		}
 		break;
 	}
