diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 6bcff58fde64c54c83fffa025ce4bd97e834194e..b473011e476d694cf5e66abb7a3696e16f0c1b62 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -1850,21 +1850,30 @@ globalThis.retirementReady = function(slave) {
  * @param {boolean} [forceDevelopment=false]
  */
 globalThis.ageSlave = function(slave, forceDevelopment=false) {
-	slave.physicalAge++;
-	slave.actualAge++;
-	if (slave.geneMods.NCS === 0) {
-		slave.visualAge++;
-		slave.ovaryAge += either(0.8, 0.9, 0.9, 1.0, 1.0, 1.0, 1.1);
-	} else {
-		/* Induced NCS completely takes over visual aging. Additionally, because of the neoteny aspects of NCS, ovaries don't age quite as fast. */
-		slave.ovaryAge += either(0.5, 0.6, 0.7, 0.7, 0.8, 0.9, 1.0);
-	}
-	if (slave.broodmother === 1) {
-		slave.ovaryAge += 0.2;
-	}
-	if (slave.physicalAge <= 18 && (forceDevelopment || V.loliGrow > 0)) {
-		physicalDevelopment(slave);
-	}
+    if (slave.advancedGeneticModification.immortality === 1) {
+        if (slave.physicalAge > 25) {
+            slave.physicalAge--;
+        }
+        if (slave.visualAge > 25) {
+            slave.visualAge--;
+        }
+    } else {
+    	slave.physicalAge++;
+    	slave.actualAge++;
+    	if (slave.geneMods.NCS === 0) {
+    		slave.visualAge++;
+    		slave.ovaryAge += either(0.8, 0.9, 0.9, 1.0, 1.0, 1.0, 1.1);
+    	} else {
+    		/* Induced NCS completely takes over visual aging. Additionally, because of the neoteny aspects of NCS, ovaries don't age quite as fast. */
+	    	slave.ovaryAge += either(0.5, 0.6, 0.7, 0.7, 0.8, 0.9, 1.0);
+    	}
+    	if (slave.broodmother === 1) {
+    		slave.ovaryAge += 0.2;
+    	}
+    	if (slave.physicalAge <= 18 && (forceDevelopment || V.loliGrow > 0)) {
+    		physicalDevelopment(slave);
+    	}
+    }
 };
 
 /** Is the slave a shelter slave?