diff --git a/src/Mods/SpecialForce/SpecialForce.js b/src/Mods/SpecialForce/SpecialForce.js
index 8d6ac223485053b3c72a7424b7966dc44e45a58c..98c495ea23ea1514d4ff826b688cca98e9f9eed6 100644
--- a/src/Mods/SpecialForce/SpecialForce.js
+++ b/src/Mods/SpecialForce/SpecialForce.js
@@ -2177,21 +2177,21 @@ App.SF.AAR = function(endWeekCall = 1) {
 			FNG += S.Firebase;
 			Trade += 0.5 * S.Firebase;
 			Multiplier.unit += 7.5 * S.Firebase + 2 * Math.pow(S.Firebase, 2) * cost.a;
-			incomeAdd += (5000 * S.Firebase)/ S.Firebase - 1;
+			incomeAdd += (5000 * S.Firebase)/ Math.max(S.Firebase - 1, 1);
 			upkeep += (95 * 10 + S.Firebase) * cost.b;
 		}
 		if (S.Armoury > 0) {
 			FNG += 2 * S.Armoury;
 			Trade += 0.25 * S.Armoury;
 			Multiplier.unit += 7.5 * S.Armoury + 2 * Math.pow(S.Armoury, 2) * cost.a;
-			incomeAdd += (3000 * S.Armoury)/S.Armoury - 1;
+			incomeAdd += (3000 * S.Armoury)/Math.max(S.Armoury - 1, 1);
 			upkeep += (55 * S.Armoury) * cost.b;
 		}
 		if (S.Drugs > 0) {
 			FNG += S.Drugs;
 			Trade += 0.25 * S.Drugs;
 			Multiplier.unit += 7.5 * S.Drugs + 2 * Math.pow(S.Drugs, 2) * cost.a;
-			incomeAdd += (3000 * S.Drugs)/S.Drugs - 1;
+			incomeAdd += (3000 * S.Drugs)/Math.max(S.Drugs - 1, 1);
 			upkeep += (35 * S.Drugs) * cost.b;
 		}
 		if (S.Firebase >= 1) {
@@ -2361,14 +2361,14 @@ App.SF.AAR = function(endWeekCall = 1) {
 			}
 		}
 
-		income += incomeAdd + (1 + Multiplier.troop / N0) * (1 + Multiplier.unit / N0) * (1 + Multiplier.action / N0) * (1 + Multiplier.depravity / N0);
+		income += (1 + Multiplier.troop / N0) * (1 + Multiplier.unit / N0) * (1 + Multiplier.action / N0) * (1 + Multiplier.depravity / N0);
 		upkeep += 30000 + (25000 * 1 / N1);
 		if (V.SF.Target === "raiding") {
 			income *= 1.25;
 		} else if (V.SF.Target === "secure") {
 			income *= 1.05;
 		} else { // When recruiting, upkeep is lowered, effect dependent on amount of soldiers. At max capacity, multiplier back to 1.
-			upkeep *= 0.75 + (V.SF.ArmySize/100);
+			upkeep *= 0.75 + (V.SF.ArmySize/10000);
 		}
 
 		if (between(V.economy, 33, 100)) {
@@ -2380,11 +2380,11 @@ App.SF.AAR = function(endWeekCall = 1) {
 		}
 
 		if (endWeekCall > 0) { V.SF.ArmySize += FNG; }
-		income = Math.ceil(income);
+		income = Math.ceil(income + incomeAdd);
 		upkeep = Math.ceil(upkeep);
 		profit = income - upkeep;
 		if (V.debugMode > 0 && endWeekCall > 0) {
-			r += `<br>income:${num(income)}, upkeep:${num(upkeep)}, profit:${num(profit)}, troop:${num((0.09+Multiplier.troop/N0).toFixed(2))}, unit:${num((0.09+Multiplier.unit/N0).toFixed(2))}, action:${num((0.09+Multiplier.action/N0).toFixed(2))}, depravity:${num((0.09+Multiplier.depravity/N0).toFixed(2))}`;
+			r += `<br>income:${num(income)}, upkeep:${num(upkeep)}, profit:${num(profit)}, troop:${num((0.09+Multiplier.troop/N0).toFixed(2))}, unit:${num((0.09+Multiplier.unit/N0).toFixed(2))}, action:${num((0.09+Multiplier.action/N0).toFixed(2))}, depravity:${num((0.09+Multiplier.depravity/N0).toFixed(2))}, N0: ${N0} N1: ${N1}`;
 		}
 
 		if (endWeekCall > 0) {