diff --git a/src/endWeek/saSocialEffects.js b/src/endWeek/saSocialEffects.js
index a912b739f2be87e32fa1883c74e5123a83073dc9..bda16c9945ec1a4c523c91dd5aaf9500b60b28a7 100644
--- a/src/endWeek/saSocialEffects.js
+++ b/src/endWeek/saSocialEffects.js
@@ -333,7 +333,7 @@ App.SlaveAssignment.saSocialEffects = function(slave) {
 					V.failedElite += (5 + slave.pregType);
 				}
 			}
-			if (slave.balls > 0 && slave.pubertyXY === 1 && slave.vasectomy === 0) {
+			if (slave.balls > 0 && slave.pubertyXY === 1 && slave.vasectomy === 0 && slave.ballType !== "sterile") {
 				t.push(new SocialEffect("Eugenics", -slave.balls, "Working testicles",
 					`Society <span class="red">disapproves</span> of ${his} working testicles.`));
 			} else if (slave.dick > 0 && slave.balls > 0 && slave.vasectomy === 1) {
diff --git a/src/npc/interaction/fPCImpreg.js b/src/npc/interaction/fPCImpreg.js
index 88d1caa54decb7540485368b697a0d0624048a8a..487d206776c90584f29dc6ffde13c416c6f32740 100644
--- a/src/npc/interaction/fPCImpreg.js
+++ b/src/npc/interaction/fPCImpreg.js
@@ -272,20 +272,14 @@ App.Interact.fPCImpreg = function(slave) {
 
 	if (V.arcologies[0].FSGenderRadicalist !== 'unset' && slave.mpreg) {
 		text.push(`Society <span class="reputation inc">approves</span> of your fucking your slaves' asses pregnant; this advances the ideal all a slave needs is ${his} rear.`);
-
-		repX(V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel), 'futureSocieties', slave);
-		V.arcologies[0].FSGenderRadicalist += 0.05 * V.FSSingleSlaveRep;
+		FutureSocieties.Change("FSGenderRadicalist", 1);
 	} else if (V.arcologies[0].FSGenderFundamentalist !== 'unset') {
 		if (slave.mpreg) {
-			text.push(`Society <span class="reputation inc">approves</span> of your putting a new slave in ${him}; this advances the idea that all slaves should bear their masters' babies.`);
-
-			repX(forceNeg(V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel)), 'futureSocieties', slave);
-			V.arcologies[0].FSGenderFundamentalist -= 0.05 * V.FSSingleSlaveRep;
-		} else {
 			text.push(`Society <span class="reputation dec">is disgusted</span> by this degenerate form of reproduction.`);
-
-			repX(V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel), 'futureSocieties', slave);
-			V.arcologies[0].FSGenderFundamentalist += 0.05 * V.FSSingleSlaveRep;
+			FutureSocieties.Change("FSGenderFundamentalist", -1);
+		} else {
+			text.push(`Society <span class="reputation inc">approves</span> of your putting a new slave in ${him}; this advances the idea that all slaves should bear their masters' babies.`);
+			FutureSocieties.Change("FSGenderFundamentalist", 1);
 		}
 	}
 
diff --git a/src/npc/interaction/passage/fSlaveImpreg.js b/src/npc/interaction/passage/fSlaveImpreg.js
index 918139e487e8fe69600b8443359b84a547bc7425..b97a0cb57bb025b023677cf4ec5bdfae2b10e29f 100644
--- a/src/npc/interaction/passage/fSlaveImpreg.js
+++ b/src/npc/interaction/passage/fSlaveImpreg.js
@@ -443,18 +443,18 @@ App.Interact.fSlaveImpreg = function(slave) {
 			r.push(`Rumors spread about you breeding your slaves; the Societal Elite are <span class="red">displeased</span> by these rumors.`);
 			V.failedElite += 1;
 		}
-		if (V.arcologies[0].FSGenderRadicalist !== "unset" && slave.mpreg === 1) {
-			r.push(`Society <span class="green">approves</span> of your breeding your slave's ass; this advances the ideal all a slave needs is their rear.`);
-			repX(V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel), "futureSocieties", slave);
-			V.arcologies[0].FSGenderRadicalist += 0.05 * V.FSSingleSlaveRep;
-		} else if (V.arcologies[0].FSGenderFundamentalist !== "unset" && slave.mpreg === 1) {
-			r.push(`Society <span class="red">is disgusted</span> by this degenerate form of reproduction.`);
-			repX(forceNeg(V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel)), "futureSocieties", slave);
-			V.arcologies[0].FSGenderFundamentalist -= 0.05 * V.FSSingleSlaveRep;
-		} else if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
-			r.push(`Society <span class="green">approves</span> of your breeding your slaves; this advances the ideal of a durable, self propagating race of slaves.`);
-			repX(V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel), "futureSocieties", slave);
-			V.arcologies[0].FSGenderFundamentalist += 0.05 * V.FSSingleSlaveRep;
+
+		if (V.arcologies[0].FSGenderRadicalist !== 'unset' && slave.mpreg) {
+			r.push(`Society <span class="reputation inc">approves</span> of your breeding your slave's ass; this advances the ideal all a slave needs is ${his} rear.`);
+			FutureSocieties.Change("FSGenderRadicalist", 1);
+		} else if (V.arcologies[0].FSGenderFundamentalist !== 'unset') {
+			if (slave.mpreg) {
+				r.push(`Society <span class="reputation dec">is disgusted</span> by this degenerate form of reproduction.`);
+				FutureSocieties.Change("FSGenderFundamentalist", -1);
+			} else {
+				r.push(`Society <span class="reputation inc">approves</span> of your breeding your slaves; this advances the ideal of a durable, self propagating race of slaves`);
+				FutureSocieties.Change("FSGenderFundamentalist", 1);
+			}
 		}
 
 		App.Events.addParagraph(node, r);