diff --git a/src/modules/butterflies/butterflies_populations.c b/src/modules/butterflies/butterflies_populations.c
index f1a4b8e09d68db32332a981a5d3dd0bba06fc696..a06db76118ad8f38e90d61027cf62f26c999e555 100644
--- a/src/modules/butterflies/butterflies_populations.c
+++ b/src/modules/butterflies/butterflies_populations.c
@@ -81,8 +81,9 @@ void bf_cell_maturation(struct cats_grid *grid, struct cats_thread_info *ts, cat
 
         data->eggs[row][col] -= eggs;
 
-        assert(data->eggs[row][col] >= 0);
 
+        assert(data->eggs[row][col] >= 0);
+        if (eggs == 0) return;
 
         // not capped, we can have more adults than CC
         struct conf_data_butterflies *module_conf = CATS_MODULE_DATA;