diff --git a/src/SecExp/attackHandler.tw b/src/SecExp/attackHandler.tw
index 1ee227fd9307670c6705d3fb456df5758c8fdf49..b829dae4b3872ac4494fa5dcc1293ea58a718511 100644
--- a/src/SecExp/attackHandler.tw
+++ b/src/SecExp/attackHandler.tw
@@ -104,13 +104,13 @@
 		<<if $SFUnit.GunS >= 1>>
 			<<set _defMod += $SFUnit.GunS * 0.05>>
 		<</if>>
-		<<if $SFUnit.Satellite >= 5>>
+		<<if $SFUnit.Satellite >= 5 && $SatLaunched > 0>>
 			<<set _atkMod += ($SFUnit.Satellite - 5) * 0.05>>
 		<</if>>
 		<<if $SFUnit.GiantRobot >= 6>>
 			<<set _defMod += ($SFUnit.GiantRobot - 5) * 0.05>>
 		<</if>>
-		<<if $SFUnit.MissileSilo >= 1>>
+		<<if $SFUnit.MissileSilo >= 1 && $SatLaunched > 0>>
 			<<set _atkMod += $SFUnit.MissileSilo * 0.05>>
 			<<set _defMod += $SFUnit.MissileSilo * 0.05>>
 		<</if>>
diff --git a/src/SecExp/attackReport.tw b/src/SecExp/attackReport.tw
index fe87340867e791d21cb7f8472d2f8218a0991b4f..9f43ac9f5919e90d34f78d8680a0c907c65fc6df 100644
--- a/src/SecExp/attackReport.tw
+++ b/src/SecExp/attackReport.tw
@@ -1429,7 +1429,7 @@
 		<<if $SFUnit.GunS >= 1>>
 			The gunship gave our troops an undeniable advantage in recon capabilities, air superiority and fire support.
 		<</if>>
-		<<if $SFUnit.Satellite >= 5>>
+		<<if $SFUnit.Satellite >= 5 && $SatLaunched > 0>>
 			The $SF.Lower satellite's devastating power was employed with great efficiency against the enemy.
 		<</if>>
 		<<if $SFUnit.GiantRobot >= 6>>
diff --git a/src/SecExp/widgets/battleWidgets.tw b/src/SecExp/widgets/battleWidgets.tw
index 46fb3dfc58347983da1fadcd1920c8bd82c1920e..af41b8843d7e8cd8cd849e62446089e47bd1013d 100644
--- a/src/SecExp/widgets/battleWidgets.tw
+++ b/src/SecExp/widgets/battleWidgets.tw
@@ -3,7 +3,7 @@
 <<widget "calcSFStatistics">>
 	<<if $slaveRebellion != 1 || $citizenRebellion != 1>>
 		/* atk, def */
-		<<set _upgradesSum = $SFUnit.Armoury + $SFUnit.Drugs + $SFUnit.AirForce + $SFUnit.Vehicles>>
+		<<set _upgradesSum = $SFUnit.Armoury + $SFUnit.Drugs + ($SFUnit.AA+$SFUnit.TA < 1) + ($SFUnit.AV+$SFUnit.TV)>>
 		<<if !isInt(_upgradesSum)>>
 			<<set _upgradesSum = random(10,15)>>
 		<</if>>
@@ -22,7 +22,7 @@
 		<</if>>
 	<<else>>
 		/* atk, def */
-		<<set _upgradesSum = $SFUnit.Armoury + $SFUnit.Drugs + $SFUnit.AirForce + $SFUnit.Vehicles>>
+		<<set _upgradesSum = $SFUnit.Armoury + $SFUnit.Drugs + ($SFUnit.AA+$SFUnit.TA < 1) + ($SFUnit.AV+$SFUnit.TV)>>
 		<<if !isInt(_upgradesSum)>>
 			<<set _upgradesSum = random(10,15)>>
 		<</if>>