diff --git a/src/aevol_modify.cpp b/src/aevol_modify.cpp
index f3f5c14b57a31ec0169f85a34379aa210e96af23..f12f18603bd7d60a7a2a4f531e0440d10f3e9eaf 100644
--- a/src/aevol_modify.cpp
+++ b/src/aevol_modify.cpp
@@ -339,6 +339,8 @@ int main(int argc, char* argv[]) {
         indiv->annotated_chromosome_->dna_ =
             Dna_7::make_dna(old_world->grid(0, 0)->individual()->genetic_unit_seq_length(0));
         indiv->annotated_chromosome_->dna_->set_indiv(old_world->grid(0, 0)->individual()->genetic_unit(0).dna());
+        indiv->annotated_chromosome_->dna_->set_parent_length(
+            old_world->grid(0, 0)->individual()->genetic_unit(0).dna()->length());
         indiv->annotated_chromosome_->dna_->set_indiv(indiv);
         indiv->parent_id = 0;
 
@@ -733,6 +735,8 @@ int main(int argc, char* argv[]) {
         indiv->annotated_chromosome_->dna_ =
             Dna_7::make_dna(old_world->grid(x, y)->individual()->genetic_unit_seq_length(0));
         indiv->annotated_chromosome_->dna_->set_indiv(old_world->grid(x,y)->individual()->genetic_unit(0).dna());
+        indiv->annotated_chromosome_->dna_->set_parent_length(
+            old_world->grid(x,y)->individual()->genetic_unit(0).dna()->length());
         indiv->annotated_chromosome_->dna_->set_indiv(indiv);
         indiv->parent_id = 0;
 
diff --git a/src/libaevol/7/Dna_7.cpp b/src/libaevol/7/Dna_7.cpp
index 1d221706f3a3615c0b7980486c427edf448ddbd2..e1f2a8698c2530bed90ea144ff54e2e347980412 100644
--- a/src/libaevol/7/Dna_7.cpp
+++ b/src/libaevol/7/Dna_7.cpp
@@ -89,8 +89,6 @@ void Dna_7::set_indiv(Dna* dna) {
     }
 
     memcpy(data_, dna->data(), (length_+1) * sizeof(char));
-
-    parent_length_ = dna->length();
 }
 
 
diff --git a/src/libaevol/7/ExpManager_7.cpp b/src/libaevol/7/ExpManager_7.cpp
index 40c16aa56f293f59f66197c3976a0e235d41d665..e583a937cd228864149004ce09520fdef2836ab4 100644
--- a/src/libaevol/7/ExpManager_7.cpp
+++ b/src/libaevol/7/ExpManager_7.cpp
@@ -107,6 +107,8 @@ void ExpManager_7::load_legacy(ExpManager* exp_m, const ExpSetup* exp_s, const W
         Dna_7::make_dna(world->grid(x, y)->individual()->genetic_unit_seq_length(0));
     current_individuals[indiv_id]->annotated_chromosome_->dna_->set_chrsm(current_individuals[indiv_id]->annotated_chromosome_);
     current_individuals[indiv_id]->annotated_chromosome_->dna_->set_indiv(world->grid(x, y)->individual()->genetic_unit(0).dna());
+    current_individuals[indiv_id]->annotated_chromosome_->dna_->set_parent_length(
+        world->grid(x, y)->individual()->genetic_unit(0).dna()->length());
     current_individuals[indiv_id]->parent_id = indiv_id;
     previous_individuals[indiv_id] = current_individuals[indiv_id];
   }
diff --git a/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp b/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp
index b9236fc1c66a748fe6b7dd77fe5499d86ac98320..e3380fa6fd6138e32a1180c7495d402773f45619 100644
--- a/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp
+++ b/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp
@@ -270,6 +270,7 @@ int main(int argc, char* argv[]) {
   indiv->annotated_chromosome_->dna_ = Dna_7::make_dna(grid_cell->individual()->genetic_unit_seq_length(0));
   indiv->annotated_chromosome_->dna_->set_chrsm(indiv->annotated_chromosome_);
   indiv->annotated_chromosome_->dna_->set_indiv(grid_cell->individual()->genetic_unit(0).dna());
+  indiv->annotated_chromosome_->dna_->set_parent_length(grid_cell->individual()->genetic_unit(0).dna()->length());
   indiv->annotated_chromosome_->dna_->set_indiv(indiv);
   indiv->parent_id = 0;
 
diff --git a/src/post_treatments/aevol_post_ancestor_stats_7.cpp b/src/post_treatments/aevol_post_ancestor_stats_7.cpp
index 863bb573cb0a437b92407967998d091a24c0aff5..3cfe1851e4770d1321f71c31bf16d4c794e4671c 100644
--- a/src/post_treatments/aevol_post_ancestor_stats_7.cpp
+++ b/src/post_treatments/aevol_post_ancestor_stats_7.cpp
@@ -217,6 +217,7 @@ int main(int argc, char* argv[]) {
   indiv->annotated_chromosome_->dna_ = Dna_7::make_dna(grid_cell->individual()->genetic_unit_seq_length(0));
   indiv->annotated_chromosome_->dna_->set_chrsm(indiv->annotated_chromosome_);
   indiv->annotated_chromosome_->dna_->set_indiv(grid_cell->individual()->genetic_unit(0).dna());
+  indiv->annotated_chromosome_->dna_->set_parent_length(grid_cell->individual()->genetic_unit(0).dna()->length());
   indiv->annotated_chromosome_->dna_->set_indiv(indiv);
   indiv->parent_id = 0;
 
diff --git a/src/post_treatments/aevol_post_create_csv_7.cpp b/src/post_treatments/aevol_post_create_csv_7.cpp
index ac50e3644241e3cd3aee297d064ad3a7e00233dc..f35fc1da6d7bc5fd5a73be945839d33b2cf5c1df 100644
--- a/src/post_treatments/aevol_post_create_csv_7.cpp
+++ b/src/post_treatments/aevol_post_create_csv_7.cpp
@@ -157,6 +157,7 @@ int main(int argc, char* argv[]) {
   indiv_7->annotated_chromosome_->dna_ = Dna_7::make_dna(indiv->genetic_unit_seq_length(0));
   indiv_7->annotated_chromosome_->dna_->set_chrsm(indiv_7->annotated_chromosome_);
   indiv_7->annotated_chromosome_->dna_->set_indiv(indiv->genetic_unit(0).dna());
+  indiv_7->annotated_chromosome_->dna_->set_parent_length(indiv->genetic_unit(0).dna()->length());
   indiv_7->annotated_chromosome_->dna_->set_indiv(indiv_7);
   indiv_7->parent_id = 0;
   
diff --git a/src/post_treatments/aevol_post_create_eps_7.cpp b/src/post_treatments/aevol_post_create_eps_7.cpp
index 51a3ec25477bf3fe62e4ba5a085393a1273c62e2..483818eeeb2e92dddeef22e5cac217ef586aae85 100644
--- a/src/post_treatments/aevol_post_create_eps_7.cpp
+++ b/src/post_treatments/aevol_post_create_eps_7.cpp
@@ -142,6 +142,7 @@ int main(int argc, char* argv[]) {
   indiv_7->annotated_chromosome_->dna_ = Dna_7::make_dna(indiv->genetic_unit_seq_length(0));
   indiv_7->annotated_chromosome_->dna_->set_chrsm(indiv_7->annotated_chromosome_);
   indiv_7->annotated_chromosome_->dna_->set_indiv(indiv->genetic_unit(0).dna());
+  indiv_7->annotated_chromosome_->dna_->set_parent_length(indiv->genetic_unit(0).dna()->length());
   indiv_7->annotated_chromosome_->dna_->set_indiv(indiv_7);
   indiv_7->parent_id = 0;