diff --git a/src/pilot.c b/src/pilot.c
index f917f58..85d20c8 100644
--- a/src/pilot.c
+++ b/src/pilot.c
@@ -1173,8 +1173,8 @@ static void pilot_calcCargo(Pilot* pilot) {
 
   q = pilot_cargoUsed(pilot);
 
-  pilot->cargo_free -= q;                       /* Reduce space left. */
-  pilot->solid->mass = pilot->ship->mass + q;   /* Cargo affects weight. */
+  pilot->cargo_free = pilot->ship->cap_cargo - q; /* Reduce space left. */
+  pilot->solid->mass = pilot->ship->mass + q;     /* Cargo affects weight. */
 }
 
 /**