diff --git a/src/faction.c b/src/faction.c
index f59acf2..a0ed80a 100644
--- a/src/faction.c
+++ b/src/faction.c
@@ -100,7 +100,7 @@ void faction_modPlayer(int f, int mod) {
     for(i = 0; i < faction->nenemies; i++) {
       enemy = &faction_stack[faction->enemies[i]];
 
-      enemy->player -= RNG(0, mod/2);
+      enemy->player -= MIN(1, RNG(0, mod/2));
       faction_sanitizePlayer(enemy);
     }
 
diff --git a/src/pilot.c b/src/pilot.c
index 25d4e55..40e59aa 100644
--- a/src/pilot.c
+++ b/src/pilot.c
@@ -301,7 +301,7 @@ void pilot_hit(Pilot* p, const Solid* w, const unsigned int shooter,
       pilot_dead(p);
       /* Adjust the combat rating based on pilot mass and ditto faction. */
       if(shooter == PLAYER_ID) {
-        mod = (int)sqrt(p->ship->mass/25.);
+        mod = MIN(1, (int)sqrt(p->ship->mass/25.));
         player_crating += MAX(1, mod);
         faction_modPlayer(p->faction, -mod);
       }