diff --git a/CHANGES/v2.4.md b/CHANGES/v2.4.md
index 8d2a583be6b6fd80560e251c1a6ed264886d54de..832d0bae43aead3e0df21da304aed1ab97f3a518 100644
--- a/CHANGES/v2.4.md
+++ b/CHANGES/v2.4.md
@@ -207,6 +207,7 @@ For users:
   - Fix some performances regression issue with OpenMP
   - Updated NAMD patches to version 2.12 and 2.13. Old patches have been removed.
   - GROMACS patch for gromacs-2018.4.
+  - Fix a bug in CS2BACKBONE when using more than 2 chains
 
 For developers:
   - Small fix in LDFLAGS when enabling coverage.
diff --git a/src/isdb/CS2Backbone.cpp b/src/isdb/CS2Backbone.cpp
index abea48f089c9642865f93e7eb1fbba7b8ed13d3e..4b82fc760d27c5e44687749f2dd50813be4599e4 100644
--- a/src/isdb/CS2Backbone.cpp
+++ b/src/isdb/CS2Backbone.cpp
@@ -1476,7 +1476,7 @@ void CS2Backbone::init_sidechain(const PDB &pdb) {
       }
 
     }
-    old_size += aend.index()+1;
+    old_size = aend.index()+1;
   }
 }
 
@@ -1566,7 +1566,7 @@ void CS2Backbone::init_xdist(const PDB &pdb) {
         atom[s][a].xd2.push_back(add2);
       }
     }
-    old_size += aend.index()+1;
+    old_size = aend.index()+1;
   }
 }
 
@@ -1689,7 +1689,7 @@ void CS2Backbone::init_rings(const PDB &pdb) {
         plumed_merror("Unkwown Ring Fragment");
       }
     }
-    old_size += aend.index()+1;
+    old_size = aend.index()+1;
   }
 }