diff --git a/src/cargo.py b/src/cargo.py
index da82cdc10..1a5ad0792 100644
--- a/src/cargo.py
+++ b/src/cargo.py
@@ -22,13 +22,6 @@
 from economies import registered_economies
 from cargos import registered_cargos
 
-# this will be suboptimal for performance, as it will be imported multiple times per compile, causing duplicat TOML parsing
-# fine for v4, but for v5, this might be better centralised?
-from polar_fox.cargo_classes import cargo_classes
-
-cargo_class_scheme = cargo_classes.CargoClassSchemes().default_scheme
-
-
 class Cargo(object):
     """Base class to hold cargos"""
 
@@ -161,14 +154,7 @@ def get_cargo_colour(self, economy):
         return global_constants.valid_cargo_colours[self.get_numeric_id(economy)]
 
     def get_cargo_classes_for_nml(self):
-        classes_mapped_to_bit_numbers = []
-        for cargo_class in self.cargo_classes:
-            classes_mapped_to_bit_numbers.append(
-                str(
-                    cargo_class_scheme.cargo_classes_taxonomy[cargo_class]["bit_number"]
-                )
-            )
-        return "bitmask(" + ",".join(classes_mapped_to_bit_numbers) + ")"
+        return "bitmask(" + ",".join(self.cargo_classes) + ")"
 
     def get_property(self, property_name, economy):
         # straightforward lookup of a property, doesn't try to handle failure case of property not found; don't look up props that don't exist
diff --git a/src/templates/cargos.pynml b/src/templates/cargos.pynml
index 7080a67f1..adf6b289b 100644
--- a/src/templates/cargos.pynml
+++ b/src/templates/cargos.pynml
@@ -9,6 +9,9 @@ disable_item(FEAT_CARGOS, 0, 29);
 <!--! don't disable 30, it's used by NARS 2 for regearing and disabling it breaks NARS 2 -->
 disable_item(FEAT_CARGOS, 31, 31);
 
+<!--! include constants for 2024 Polar Fox cargo classes -->
+<tal:include metal:use-macro="load: ../polar_fox/cargo_classes/docs/cargo_class_constants.nml" />
+
 <tal:cargos repeat="cargo registered_cargos">
     spriteset(cargoicon_${cargo.id}) {
         [10 + 20 * ${cargo.icon_indices[0]}, 10 + 20 * ${cargo.icon_indices[1]}, 10, 10, 0, 0, ${"ANIM," if cargo.allow_animated_pixels else None} "src/graphics/other/cargoicons.png"]