diff --git a/src/chemistry/EAGLE/chemistry.h b/src/chemistry/EAGLE/chemistry.h
index e1d8fcd1b6dfc8b03daec10c1d87501b3ce521d2..52f92299f26472dae538a562a96c62fc863f462f 100644
--- a/src/chemistry/EAGLE/chemistry.h
+++ b/src/chemistry/EAGLE/chemistry.h
@@ -391,8 +391,12 @@ __attribute__((always_inline)) INLINE static void chemistry_kick_extra(
     for (int i = 0; i < chemistry_element_count; i++) {
       sum += p->chemistry_data.metal_mass_fraction[i];
     }
-    if (sum > 1.f)
-      error("Sum of element-wise metal mass fractions grew larger than 1!");
+    sum -= p->chemistry_data.metal_mass_fraction[chemistry_element_H];
+    sum -= p->chemistry_data.metal_mass_fraction[chemistry_element_He];
+    if (sum > p->chemistry_data.metal_mass_fraction_total)
+      error(
+          "Sum of element-wise metal mass fractions grew larger than total "
+          "metal mass fraction!");
 #endif
     chemistry_reset_mass_fluxes(p);
   }