diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js
index 4fdfdbf082a2121e033e7e46a37b0a77c5b5599b..8c2280bc82894338e13cd3e95f110ca20f215050 100644
--- a/src/js/descriptionWidgets.js
+++ b/src/js/descriptionWidgets.js
@@ -337,11 +337,13 @@ App.Desc.ageAndHealth = function(slave) {
 			r += `${He} is in <span class="yellow">fair health.</span>`;
 		} else if (H.health <= 50) {
 			r += `${He} seems to be in <span class="green">good health.</span>`;
+		} else if (H.health <= 90) {
+			r += `${He} seems to be in <span class="green">great health.</span>`;
 		} else {
 			r += `${He} almost gleams; ${he}'s in the absolute <span class="green">best of health.</span>`;
 		}
 
-		if (H.shortDamage !== 0 || H.longDamage !== 0) {
+		if (H.shortDamage !== 0 || H.longDamage !== 0 || H.condition < 0) {
 			r +=  ` Upon closer inspection you note that ${he}`;
 
 			if (H.shortDamage >= 100) {
@@ -351,42 +353,42 @@ App.Desc.ageAndHealth = function(slave) {
 			} else if (H.shortDamage >= 40) {
 				r += ` is <span class="red">seriouly injured</span> with some lasting effects`;
 			} else if (H.shortDamage >= 20) {
-				r += ` is <span class="red">injured</span>`;
+				r += ` is <span class="orange">injured</span>`;
 			} else if (H.shortDamage > 0) {
 				r += ` seems to have suffered a <span class="yellow">minor injury</span> recently`;
 			}
 
-			if (H.shortDamage !== 0 && H.longDamage !== 0) {
+			if (H.shortDamage !== 0 && H.longDamage !== 0 && H.condition < 0) {
 				r += `,`;
+			} else if ((H.shortDamage !== 0 && H.longDamage !== 0) || (H.shortDamage !== 0 && H.condition < 0)) {
+				r += ` and`;
 			}
 
-			if (H.longDamage >= 50) {
+			if (H.longDamage >= 70) {
 				r += ` is suffering heavily under accumulated <span class="red">permanent health problems</span>`;
-			} else if (H.longDamage >= 30) {
+			} else if (H.longDamage >= 40) {
 				r += ` has some clear <span class="red">permanent health issues</span>`;
-			} else if (H.longDamage >= 10) {
-				r += ` shows signs of <span class="red">lasting health problems</span>`;
+			} else if (H.longDamage >= 20) {
+				r += ` shows signs of <span class="orange">lasting health problems</span>`;
 			} else if (H.longDamage > 0) {
 				r += ` carries some <span class="yellow">minor niggles</span>`;
 			}
 
-			if (H.shortDamage !== 0 || H.longDamage !== 0) {
+			if ((H.shortDamage !== 0 || H.longDamage !== 0) && H.condition < 0) {
 				r += ` and`;
 			}
 
 			if (H.condition < -80 && H.shortDamage !== 0 && H.longDamage !== 0) {
-				r += ` has been treated so badly ${he} <span class="red">is close to the brink</span>.`;
+				r += ` has been treated so badly ${he} <span class="red">is close to the brink</span>`;
 			} else if (H.condition < -50) {
-				r += ` appears to be in <span class="red">terrible condition.</span>`;
+				r += ` appears to be in <span class="red">terrible condition</span>`;
 			} else if (H.condition < -20) {
-				r += ` appears to be in <span class="red">poor condition.</span>`;
-			} else if (H.condition <= 20) {
-				r += ` appears to be in <span class="yellow">decent condition.</span>`;
-			} else if (H.condition <= 50) {
-				r += ` appears to be in <span class="green">good condition.</span>`;
-			} else {
-				r += ` is clearly <span class="green">in tip top condition.</span>`;
+				r += ` appears to be in <span class="orange">poor condition</span>`;
+			} else if (H.condition < 0) {
+				r += ' could be in <span class="yellow">better condition</span>';
 			}
+
+			r += `.`;
 		}
 
 		if (H.tired > 30) {