diff --git a/js/random.js b/js/random.js
index bc58971af9cd496992a4c67b6620320b4717f0e9..6953189b45a236911f7748be49711ad9db045f43 100644
--- a/js/random.js
+++ b/js/random.js
@@ -136,7 +136,6 @@ function Xoshiro128Twostar(seed1, seed2, optionalSeed3, optionalSeed4) {
  */
 globalThis.iterateSeed = (seed) => {
 	if (!seed) { seed = jsRandom(0, 10 ** 14); }
-	// TODO: better solution?
 	return String(seed) + String(jsRandom(0, 9, undefined, String(seed)));
 };
 
diff --git a/src/js/utilsSlave.js b/src/js/utilsSlave.js
index e3f1c89d6e3ebbee980e67e36364e7fde1b5dd3d..20e3db2e3f9a3c71071a1144dcf513505cb86a42 100644
--- a/src/js/utilsSlave.js
+++ b/src/js/utilsSlave.js
@@ -773,6 +773,8 @@ globalThis.Intelligence = (function() {
 		const maxMult = Math.max(...config.limitMult);
 		let result = App.Utils.Math.limitedSkewedGaussian(maxMult, minMult, config.skew, config.seed1, config.seed2) * config.spread + config.mean;
 		while (result < Math.min(...config.limitIntelligence) || result > Math.max(...config.limitIntelligence)) {
+			config.seed1 = iterateSeed(config.seed1);
+			config.seed2 = iterateSeed(config.seed2);
 			result = App.Utils.Math.limitedSkewedGaussian(maxMult, minMult, config.skew, config.seed1, config.seed2) * config.spread + config.mean;
 		}
 		return Math.ceil(result);