diff --git a/modelling/src/sidechain_reconstructor.hh b/modelling/src/sidechain_reconstructor.hh
index abe8be222f85787b027f554dfd73f591980a58df..6c1a4ac06e05a0683a960579b39883d7007c39e4 100644
--- a/modelling/src/sidechain_reconstructor.hh
+++ b/modelling/src/sidechain_reconstructor.hh
@@ -41,7 +41,7 @@ class SidechainReconstructor {
 public:
 
   SidechainReconstructor(bool keep_sidechains = true,
-                         bool build_disulfids = true, 
+                         bool build_disulfids = true,
                          bool optimize_subrotamers = false,
                          Real remodel_cutoff = 20,
                          Real rigid_frame_cutoff = 0,
@@ -63,8 +63,8 @@ public:
   Reconstruct(uint start_resnum, uint num_residues, uint chain_idx = 0) const;
 
   SidechainReconstructionDataPtr
-  Reconstruct(const std::vector<uint>& start_resnums, 
-              const std::vector<uint>& num_residues, 
+  Reconstruct(const std::vector<uint>& start_resnums,
+              const std::vector<uint>& num_residues,
               const std::vector<uint>& chain_indices) const;
 
   // options as in SidechainEnvListener (only used if no listener there yet!)
diff --git a/modelling/tests/data/1crn_sc_test.pdb b/modelling/tests/data/1crn_sc_test.pdb
index e05c7c363fe90c17c19eb654c77d15defcdff478..fd1c58c1985325ea3555e1b5a4368b2334c2d132 100644
--- a/modelling/tests/data/1crn_sc_test.pdb
+++ b/modelling/tests/data/1crn_sc_test.pdb
@@ -1,275 +1,3 @@
-HEADER    PLANT PROTEIN                           30-APR-81   1CRN              
-TITLE     WATER STRUCTURE OF A HYDROPHOBIC PROTEIN AT ATOMIC RESOLUTION.        
-TITLE    2 PENTAGON RINGS OF WATER MOLECULES IN CRYSTALS OF CRAMBIN             
-COMPND    MOL_ID: 1;                                                            
-COMPND   2 MOLECULE: CRAMBIN;                                                   
-COMPND   3 CHAIN: A;                                                            
-COMPND   4 ENGINEERED: YES                                                      
-SOURCE    MOL_ID: 1;                                                            
-SOURCE   2 ORGANISM_SCIENTIFIC: CRAMBE HISPANICA SUBSP. ABYSSINICA;             
-SOURCE   3 ORGANISM_TAXID: 3721;                                                
-SOURCE   4 STRAIN: SUBSP. ABYSSINICA                                            
-KEYWDS    PLANT SEED PROTEIN, PLANT PROTEIN                                     
-EXPDTA    X-RAY DIFFRACTION                                                     
-AUTHOR    W.A.HENDRICKSON,M.M.TEETER                                            
-REVDAT   7   11-JUL-12 1CRN    1       SCALE1 VERSN  HEADER                     
-REVDAT   6   24-FEB-09 1CRN    1       VERSN                                    
-REVDAT   5   16-APR-87 1CRN    1       HEADER                                   
-REVDAT   4   04-MAR-85 1CRN    1       REMARK                                   
-REVDAT   3   30-SEP-83 1CRN    1       REVDAT                                   
-REVDAT   2   03-DEC-81 1CRN    1       SHEET                                    
-REVDAT   1   28-JUL-81 1CRN    0                                                
-JRNL        AUTH   M.M.TEETER                                                   
-JRNL        TITL   WATER STRUCTURE OF A HYDROPHOBIC PROTEIN AT ATOMIC           
-JRNL        TITL 2 RESOLUTION: PENTAGON RINGS OF WATER MOLECULES IN CRYSTALS OF 
-JRNL        TITL 3 CRAMBIN.                                                     
-JRNL        REF    PROC.NATL.ACAD.SCI.USA        V.  81  6014 1984              
-JRNL        REFN                   ISSN 0027-8424                               
-JRNL        PMID   16593516                                                     
-JRNL        DOI    10.1073/PNAS.81.19.6014                                      
-REMARK   1                                                                      
-REMARK   1 REFERENCE 1                                                          
-REMARK   1  AUTH   W.A.HENDRICKSON,M.M.TEETER                                   
-REMARK   1  TITL   STRUCTURE OF THE HYDROPHOBIC PROTEIN CRAMBIN DETERMINED      
-REMARK   1  TITL 2 DIRECTLY FROM THE ANOMALOUS SCATTERING OF SULPHUR            
-REMARK   1  REF    NATURE                        V. 290   107 1981              
-REMARK   1  REFN                   ISSN 0028-0836                               
-REMARK   1 REFERENCE 2                                                          
-REMARK   1  AUTH   M.M.TEETER,W.A.HENDRICKSON                                   
-REMARK   1  TITL   HIGHLY ORDERED CRYSTALS OF THE PLANT SEED PROTEIN CRAMBIN    
-REMARK   1  REF    J.MOL.BIOL.                   V. 127   219 1979              
-REMARK   1  REFN                   ISSN 0022-2836                               
-REMARK   2                                                                      
-REMARK   2 RESOLUTION.    1.50 ANGSTROMS.                                       
-REMARK   3                                                                      
-REMARK   3 REFINEMENT.                                                          
-REMARK   3   PROGRAM     : PROLSQ                                               
-REMARK   3   AUTHORS     : KONNERT,HENDRICKSON                                  
-REMARK   3                                                                      
-REMARK   3  DATA USED IN REFINEMENT.                                            
-REMARK   3   RESOLUTION RANGE HIGH (ANGSTROMS) : 1.50                           
-REMARK   3   RESOLUTION RANGE LOW  (ANGSTROMS) : NULL                           
-REMARK   3   DATA CUTOFF            (SIGMA(F)) : NULL                           
-REMARK   3   COMPLETENESS FOR RANGE        (%) : NULL                           
-REMARK   3   NUMBER OF REFLECTIONS             : NULL                           
-REMARK   3                                                                      
-REMARK   3  FIT TO DATA USED IN REFINEMENT.                                     
-REMARK   3   CROSS-VALIDATION METHOD          : NULL                            
-REMARK   3   FREE R VALUE TEST SET SELECTION  : NULL                            
-REMARK   3   R VALUE     (WORKING + TEST SET) : NULL                            
-REMARK   3   R VALUE            (WORKING SET) : NULL                            
-REMARK   3   FREE R VALUE                     : NULL                            
-REMARK   3   FREE R VALUE TEST SET SIZE   (%) : NULL                            
-REMARK   3   FREE R VALUE TEST SET COUNT      : NULL                            
-REMARK   3                                                                      
-REMARK   3  FIT/AGREEMENT OF MODEL WITH ALL DATA.                               
-REMARK   3   R VALUE   (WORKING + TEST SET, NO CUTOFF) : NULL                   
-REMARK   3   R VALUE          (WORKING SET, NO CUTOFF) : NULL                   
-REMARK   3   FREE R VALUE                  (NO CUTOFF) : NULL                   
-REMARK   3   FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : NULL                   
-REMARK   3   FREE R VALUE TEST SET COUNT   (NO CUTOFF) : NULL                   
-REMARK   3   TOTAL NUMBER OF REFLECTIONS   (NO CUTOFF) : NULL                   
-REMARK   3                                                                      
-REMARK   3  NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.                    
-REMARK   3   PROTEIN ATOMS            : 327                                     
-REMARK   3   NUCLEIC ACID ATOMS       : 0                                       
-REMARK   3   HETEROGEN ATOMS          : 0                                       
-REMARK   3   SOLVENT ATOMS            : 0                                       
-REMARK   3                                                                      
-REMARK   3  B VALUES.                                                           
-REMARK   3   FROM WILSON PLOT           (A**2) : NULL                           
-REMARK   3   MEAN B VALUE      (OVERALL, A**2) : NULL                           
-REMARK   3   OVERALL ANISOTROPIC B VALUE.                                       
-REMARK   3    B11 (A**2) : NULL                                                 
-REMARK   3    B22 (A**2) : NULL                                                 
-REMARK   3    B33 (A**2) : NULL                                                 
-REMARK   3    B12 (A**2) : NULL                                                 
-REMARK   3    B13 (A**2) : NULL                                                 
-REMARK   3    B23 (A**2) : NULL                                                 
-REMARK   3                                                                      
-REMARK   3  ESTIMATED COORDINATE ERROR.                                         
-REMARK   3   ESD FROM LUZZATI PLOT        (A) : NULL                            
-REMARK   3   ESD FROM SIGMAA              (A) : NULL                            
-REMARK   3   LOW RESOLUTION CUTOFF        (A) : NULL                            
-REMARK   3                                                                      
-REMARK   3  RMS DEVIATIONS FROM IDEAL VALUES.                                   
-REMARK   3   DISTANCE RESTRAINTS.                    RMS    SIGMA               
-REMARK   3    BOND LENGTH                     (A) : NULL  ; NULL                
-REMARK   3    ANGLE DISTANCE                  (A) : NULL  ; NULL                
-REMARK   3    INTRAPLANAR 1-4 DISTANCE        (A) : NULL  ; NULL                
-REMARK   3    H-BOND OR METAL COORDINATION    (A) : NULL  ; NULL                
-REMARK   3                                                                      
-REMARK   3   PLANE RESTRAINT                  (A) : NULL  ; NULL                
-REMARK   3   CHIRAL-CENTER RESTRAINT       (A**3) : NULL  ; NULL                
-REMARK   3                                                                      
-REMARK   3   NON-BONDED CONTACT RESTRAINTS.                                     
-REMARK   3    SINGLE TORSION                  (A) : NULL  ; NULL                
-REMARK   3    MULTIPLE TORSION                (A) : NULL  ; NULL                
-REMARK   3    H-BOND (X...Y)                  (A) : NULL  ; NULL                
-REMARK   3    H-BOND (X-H...Y)                (A) : NULL  ; NULL                
-REMARK   3                                                                      
-REMARK   3   CONFORMATIONAL TORSION ANGLE RESTRAINTS.                           
-REMARK   3    SPECIFIED                 (DEGREES) : NULL  ; NULL                
-REMARK   3    PLANAR                    (DEGREES) : NULL  ; NULL                
-REMARK   3    STAGGERED                 (DEGREES) : NULL  ; NULL                
-REMARK   3    TRANSVERSE                (DEGREES) : NULL  ; NULL                
-REMARK   3                                                                      
-REMARK   3  ISOTROPIC THERMAL FACTOR RESTRAINTS.    RMS    SIGMA                
-REMARK   3   MAIN-CHAIN BOND               (A**2) : NULL  ; NULL                
-REMARK   3   MAIN-CHAIN ANGLE              (A**2) : NULL  ; NULL                
-REMARK   3   SIDE-CHAIN BOND               (A**2) : NULL  ; NULL                
-REMARK   3   SIDE-CHAIN ANGLE              (A**2) : NULL  ; NULL                
-REMARK   3                                                                      
-REMARK   3  OTHER REFINEMENT REMARKS: NULL                                      
-REMARK   4                                                                      
-REMARK   4 1CRN COMPLIES WITH FORMAT V. 3.30, 13-JUL-11                         
-REMARK 100                                                                      
-REMARK 100 THIS ENTRY HAS BEEN PROCESSED BY BNL.                                
-REMARK 200                                                                      
-REMARK 200 EXPERIMENTAL DETAILS                                                 
-REMARK 200  EXPERIMENT TYPE                : X-RAY DIFFRACTION                  
-REMARK 200  DATE OF DATA COLLECTION        : NULL                               
-REMARK 200  TEMPERATURE           (KELVIN) : NULL                               
-REMARK 200  PH                             : NULL                               
-REMARK 200  NUMBER OF CRYSTALS USED        : NULL                               
-REMARK 200                                                                      
-REMARK 200  SYNCHROTRON              (Y/N) : NULL                               
-REMARK 200  RADIATION SOURCE               : NULL                               
-REMARK 200  BEAMLINE                       : NULL                               
-REMARK 200  X-RAY GENERATOR MODEL          : NULL                               
-REMARK 200  MONOCHROMATIC OR LAUE    (M/L) : NULL                               
-REMARK 200  WAVELENGTH OR RANGE        (A) : NULL                               
-REMARK 200  MONOCHROMATOR                  : NULL                               
-REMARK 200  OPTICS                         : NULL                               
-REMARK 200                                                                      
-REMARK 200  DETECTOR TYPE                  : NULL                               
-REMARK 200  DETECTOR MANUFACTURER          : NULL                               
-REMARK 200  INTENSITY-INTEGRATION SOFTWARE : NULL                               
-REMARK 200  DATA SCALING SOFTWARE          : NULL                               
-REMARK 200                                                                      
-REMARK 200  NUMBER OF UNIQUE REFLECTIONS   : NULL                               
-REMARK 200  RESOLUTION RANGE HIGH      (A) : NULL                               
-REMARK 200  RESOLUTION RANGE LOW       (A) : NULL                               
-REMARK 200  REJECTION CRITERIA  (SIGMA(I)) : NULL                               
-REMARK 200                                                                      
-REMARK 200 OVERALL.                                                             
-REMARK 200  COMPLETENESS FOR RANGE     (%) : NULL                               
-REMARK 200  DATA REDUNDANCY                : NULL                               
-REMARK 200  R MERGE                    (I) : NULL                               
-REMARK 200  R SYM                      (I) : NULL                               
-REMARK 200  <I/SIGMA(I)> FOR THE DATA SET  : NULL                               
-REMARK 200                                                                      
-REMARK 200 IN THE HIGHEST RESOLUTION SHELL.                                     
-REMARK 200  HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : NULL                     
-REMARK 200  HIGHEST RESOLUTION SHELL, RANGE LOW  (A) : NULL                     
-REMARK 200  COMPLETENESS FOR SHELL     (%) : NULL                               
-REMARK 200  DATA REDUNDANCY IN SHELL       : NULL                               
-REMARK 200  R MERGE FOR SHELL          (I) : NULL                               
-REMARK 200  R SYM FOR SHELL            (I) : NULL                               
-REMARK 200  <I/SIGMA(I)> FOR SHELL         : NULL                               
-REMARK 200                                                                      
-REMARK 200 DIFFRACTION PROTOCOL: NULL                                           
-REMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: NULL                         
-REMARK 200 SOFTWARE USED: NULL                                                  
-REMARK 200 STARTING MODEL: NULL                                                 
-REMARK 200                                                                      
-REMARK 200 REMARK: NULL                                                         
-REMARK 280                                                                      
-REMARK 280 CRYSTAL                                                              
-REMARK 280 SOLVENT CONTENT, VS   (%): 32.16                                     
-REMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 1.81                     
-REMARK 280                                                                      
-REMARK 280 CRYSTALLIZATION CONDITIONS: NULL                                     
-REMARK 290                                                                      
-REMARK 290 CRYSTALLOGRAPHIC SYMMETRY                                            
-REMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 1 21 1                         
-REMARK 290                                                                      
-REMARK 290      SYMOP   SYMMETRY                                                
-REMARK 290     NNNMMM   OPERATOR                                                
-REMARK 290       1555   X,Y,Z                                                   
-REMARK 290       2555   -X,Y+1/2,-Z                                             
-REMARK 290                                                                      
-REMARK 290     WHERE NNN -> OPERATOR NUMBER                                     
-REMARK 290           MMM -> TRANSLATION VECTOR                                  
-REMARK 290                                                                      
-REMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS                            
-REMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM             
-REMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY                
-REMARK 290 RELATED MOLECULES.                                                   
-REMARK 290   SMTRY1   1  1.000000  0.000000  0.000000        0.00000            
-REMARK 290   SMTRY2   1  0.000000  1.000000  0.000000        0.00000            
-REMARK 290   SMTRY3   1  0.000000  0.000000  1.000000        0.00000            
-REMARK 290   SMTRY1   2 -1.000000  0.000000  0.000000        0.00000            
-REMARK 290   SMTRY2   2  0.000000  1.000000  0.000000        9.32500            
-REMARK 290   SMTRY3   2  0.000000  0.000000 -1.000000        0.00000            
-REMARK 290                                                                      
-REMARK 290 REMARK: NULL                                                         
-REMARK 300                                                                      
-REMARK 300 BIOMOLECULE: 1                                                       
-REMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM                
-REMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN                  
-REMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON               
-REMARK 300 BURIED SURFACE AREA.                                                 
-REMARK 350                                                                      
-REMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN           
-REMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE                
-REMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS          
-REMARK 350 GIVEN BELOW.  BOTH NON-CRYSTALLOGRAPHIC AND                          
-REMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN.                               
-REMARK 350                                                                      
-REMARK 350 BIOMOLECULE: 1                                                       
-REMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: MONOMERIC                         
-REMARK 350 APPLY THE FOLLOWING TO CHAINS: A                                     
-REMARK 350   BIOMT1   1  1.000000  0.000000  0.000000        0.00000            
-REMARK 350   BIOMT2   1  0.000000  1.000000  0.000000        0.00000            
-REMARK 350   BIOMT3   1  0.000000  0.000000  1.000000        0.00000            
-REMARK 400                                                                      
-REMARK 400 COMPOUND                                                             
-REMARK 400 THE SECONDARY STRUCTURE SPECIFICATIONS ARE THOSE DEFINED             
-REMARK 400 IN REFERENCE 1 ABOVE AND DEPEND ON PARTICULAR DEFINITIONS            
-REMARK 400 THAT MAY AFFECT THE DETERMINATION OF END POINTS.  PLEASE             
-REMARK 400 CONSULT THE PRIMARY REFERENCE AND EXAMINE STRUCTURAL                 
-REMARK 400 DETAILS SUCH AS HYDROGEN BONDING AND CONFORMATION ANGLES             
-REMARK 400 WHEN MAKING USE OF THE SPECIFICATIONS.                               
-REMARK 500                                                                      
-REMARK 500 GEOMETRY AND STEREOCHEMISTRY                                         
-REMARK 500 SUBTOPIC: COVALENT BOND ANGLES                                       
-REMARK 500                                                                      
-REMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES              
-REMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE               
-REMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN               
-REMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).                 
-REMARK 500                                                                      
-REMARK 500 STANDARD TABLE:                                                      
-REMARK 500 FORMAT: (10X,I3,1X,A3,1X,A1,I4,A1,3(1X,A4,2X),12X,F5.1)              
-REMARK 500                                                                      
-REMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999                        
-REMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996                     
-REMARK 500                                                                      
-REMARK 500  M RES CSSEQI ATM1   ATM2   ATM3                                     
-REMARK 500    ARG A  10   NE  -  CZ  -  NH2 ANGL. DEV. =  -3.6 DEGREES          
-REMARK 500    TYR A  29   CB  -  CG  -  CD1 ANGL. DEV. =  -4.7 DEGREES          
-REMARK 500                                                                      
-REMARK 500 REMARK: NULL                                                         
-DBREF  1CRN A    1    46  UNP    P01542   CRAM_CRAAB       1     46             
-SEQRES   1 A   46  THR THR CYS CYS PRO SER ILE VAL ALA ARG SER ASN PHE          
-SEQRES   2 A   46  ASN VAL CYS ARG LEU PRO GLY THR PRO GLU ALA ILE CYS          
-SEQRES   3 A   46  ALA THR TYR THR GLY CYS ILE ILE ILE PRO GLY ALA THR          
-SEQRES   4 A   46  CYS PRO GLY ASP TYR ALA ASN                                  
-HELIX    1  H1 ILE A    7  PRO A   19  13/10 CONFORMATION RES 17,19       13    
-HELIX    2  H2 GLU A   23  THR A   30  1DISTORTED 3/10 AT RES 30           8    
-SHEET    1  S1 2 THR A   1  CYS A   4  0                                        
-SHEET    2  S1 2 CYS A  32  ILE A  35 -1                                        
-SSBOND   1 CYS A    3    CYS A   40                          1555   1555  2.00  
-SSBOND   2 CYS A    4    CYS A   32                          1555   1555  2.04  
-SSBOND   3 CYS A   16    CYS A   26                          1555   1555  2.05  
-CRYST1   40.960   18.650   22.520  90.00  90.77  90.00 P 1 21 1      2          
-ORIGX1      1.000000  0.000000  0.000000        0.00000                         
-ORIGX2      0.000000  1.000000  0.000000        0.00000                         
-ORIGX3      0.000000  0.000000  1.000000        0.00000                         
-SCALE1      0.024414  0.000000  0.000328        0.00000                         
-SCALE2      0.000000  0.053619  0.000000        0.00000                         
-SCALE3      0.000000  0.000000  0.044409        0.00000                         
 ATOM      1  N   THR A   1      17.047  14.099   3.625  1.00 13.79           N  
 ATOM      2  CA  THR A   1      16.967  12.784   4.338  1.00 10.80           C  
 ATOM      3  C   THR A   1      15.685  12.755   5.133  1.00  9.19           C  
@@ -282,14 +10,11 @@ ATOM      9  CA  THR A   2      13.856  11.469   6.066  1.00  8.31           C
 ATOM     10  C   THR A   2      14.164  10.785   7.379  1.00  5.80           C  
 ATOM     11  O   THR A   2      14.993   9.862   7.443  1.00  6.94           O  
 ATOM     12  CB  THR A   2      12.732  10.711   5.261  1.00 10.32           C  
-ATOM     13  OG1 THR A   2      13.308   9.439   4.926  1.00 12.81           O  
-ATOM     14  CG2 THR A   2      12.484  11.442   3.895  1.00 11.90           C  
 ATOM     15  N   CYS A   3      13.488  11.241   8.417  1.00  5.24           N  
 ATOM     16  CA  CYS A   3      13.660  10.707   9.787  1.00  5.39           C  
 ATOM     17  C   CYS A   3      12.269  10.431  10.323  1.00  4.45           C  
 ATOM     18  O   CYS A   3      11.393  11.308  10.185  1.00  6.54           O  
 ATOM     19  CB  CYS A   3      14.368  11.748  10.691  1.00  5.99           C  
-ATOM     20  SG  CYS A   3      15.885  12.426  10.016  1.00  7.01           S  
 ATOM     21  N   CYS A   4      12.019   9.272  10.928  1.00  3.90           N  
 ATOM     22  CA  CYS A   4      10.646   8.991  11.408  1.00  4.24           C  
 ATOM     23  C   CYS A   4      10.654   8.793  12.919  1.00  3.72           C  
diff --git a/modelling/tests/test_sidechain_reconstructor.cc b/modelling/tests/test_sidechain_reconstructor.cc
index 4f0f2e01ce18d035c32d69a4f81d16aba9404e6d..e6f9a9a2ee5f6e5ead668361f4e00857e284feca 100644
--- a/modelling/tests/test_sidechain_reconstructor.cc
+++ b/modelling/tests/test_sidechain_reconstructor.cc
@@ -42,13 +42,14 @@ SidechainReconstructorPtr GetScRec(const ost::mol::EntityHandle& test_ent) {
   return sc_rec;
 }
 
-void CheckLoopRec(const SidechainReconstructorPtr sc_rec,
-                  uint start_resnum, uint loop_length, uint num_residues) {
-  // reconstruct
-  SidechainReconstructionDataPtr sc_data;
-  sc_data = sc_rec->Reconstruct(start_resnum, loop_length);
+// assume: single chain and res_idx = resnum-1
+void CheckRecData(SidechainReconstructionDataPtr sc_data,
+                  const std::vector<uint>& start_resnums,
+                  const std::vector<uint>& loop_lengths,
+                  uint num_residues) {
   // check all_pos size
   BOOST_CHECK_EQUAL(sc_data->all_pos->GetNumResidues(), num_residues);
+
   // check env_pos consistency
   const uint num_rec_residues = sc_data->env_pos->res_indices.size();
   BOOST_CHECK_EQUAL(sc_data->env_pos->all_pos->GetNumResidues(),
@@ -60,16 +61,32 @@ void CheckLoopRec(const SidechainReconstructorPtr sc_rec,
     BOOST_CHECK_EQUAL(sc_data->env_pos->all_pos->GetAA(i),
                       sc_data->all_pos->GetAA(res_idx));
   }
-  // check loop
-  BOOST_CHECK_EQUAL(sc_data->loop_start_indices.size(), 1u);
-  BOOST_CHECK_EQUAL(sc_data->loop_lengths.size(), 1u);
-  BOOST_CHECK_EQUAL(sc_data->loop_lengths[0], loop_length);
-  for (uint i = 0; i < loop_length; ++i) {
+
+  // generate expected data for loops -> set to be ok with flips
+  const uint num_loops = start_resnums.size();
+  std::set<uint> exp_loop_lengths(loop_lengths.begin(), loop_lengths.end());
+  std::set<uint> exp_res_indices;
+  for (uint i_loop = 0; i_loop < num_loops; ++i_loop) {
+    for (uint idx = 0; idx < loop_lengths[i_loop]; ++idx) {
+      exp_res_indices.insert(start_resnums[i_loop] + idx - 1);
+    }
+  }
+  // check loops
+  BOOST_CHECK_EQUAL(sc_data->loop_start_indices.size(), num_loops);
+  BOOST_CHECK_EQUAL(sc_data->loop_lengths.size(), num_loops);
+  std::set<uint> sc_loop_lengths(sc_data->loop_lengths.begin(),
+                                 sc_data->loop_lengths.end());
+  BOOST_CHECK(sc_loop_lengths == exp_loop_lengths);
+  std::set<uint> sc_res_indices;
+  for (uint i_loop = 0; i_loop < num_loops; ++i_loop) {
     // all loop res. assumed to be contiguous
-    const uint start_idx = sc_data->loop_start_indices[0];
-    const uint res_idx = sc_data->env_pos->res_indices[start_idx + i];
-    BOOST_CHECK(res_idx == start_resnum + i - 1);
+    const uint start_idx = sc_data->loop_start_indices[i_loop];
+    for (uint idx = 0; idx < sc_data->loop_lengths[i_loop]; ++idx) {
+      sc_res_indices.insert(sc_data->env_pos->res_indices[start_idx + idx]);
+    }
   }
+  BOOST_CHECK(sc_res_indices == exp_res_indices);
+
   // check N-ter / C-ter info
   BOOST_CHECK_EQUAL(sc_data->env_pos->res_indices.size(),
                     sc_data->is_n_ter.size());
@@ -82,6 +99,7 @@ void CheckLoopRec(const SidechainReconstructorPtr sc_rec,
     BOOST_CHECK(is_nter == sc_data->is_n_ter[i]);
     BOOST_CHECK(is_cter == sc_data->is_c_ter[i]);
   }
+
   // check rotamer_res_indices
   for (uint i = 0; i < sc_data->rotamer_res_indices.size(); ++i) {
     const uint i_res = sc_data->rotamer_res_indices[i];
@@ -89,6 +107,7 @@ void CheckLoopRec(const SidechainReconstructorPtr sc_rec,
     const uint res_idx = sc_data->env_pos->res_indices[i_res];
     BOOST_CHECK(!(sc_data->all_pos->IsAllSet(res_idx)));
   }
+
   // check disulfid_bridges
   for (uint i = 0; i < sc_data->disulfid_bridges.size(); ++i) {
     const uint i_res1 = sc_data->disulfid_bridges[i].first;
@@ -102,6 +121,29 @@ void CheckLoopRec(const SidechainReconstructorPtr sc_rec,
   }
 }
 
+void CheckLoopRec(const SidechainReconstructorPtr sc_rec,
+                  uint start_resnum, uint loop_length, uint num_residues) {
+  // reconstruct
+  SidechainReconstructionDataPtr sc_data;
+  sc_data = sc_rec->Reconstruct(start_resnum, loop_length);
+  // DEBUG-OUT
+  // std::cout << "SRN: " << start_resnum << ", LL: " << loop_length
+  //           << ", NR: " << num_residues
+  //           << ", RIS: " << sc_data->env_pos->res_indices.size()
+  //           << ", RRIS: " << sc_data->rotamer_res_indices.size()
+  //           << ", DBS: " << sc_data->disulfid_bridges.size() << "\n";
+  // turn into vector for check and to call other one
+  std::vector<uint> start_resnums(1, start_resnum);
+  std::vector<uint> loop_lengths(1, loop_length);
+  // check
+  CheckRecData(sc_data, start_resnums, loop_lengths, num_residues);
+  // call other one
+  std::vector<uint> chain_indices(1, 0);
+  sc_data = sc_rec->Reconstruct(start_resnums, loop_lengths, chain_indices);
+  // check
+  CheckRecData(sc_data, start_resnums, loop_lengths, num_residues);
+}
+
 void CheckEmptyLoop(const SidechainReconstructionDataPtr sc_data,
                     uint num_residues) {
   // must all be valid and empty
@@ -145,11 +187,23 @@ BOOST_AUTO_TEST_CASE(test_sidechain_reconstructor_loops) {
   std::vector<uint> chain_indices(1, 0);
   sc_data = sc_rec->Reconstruct(start_resnums, loop_lengths, chain_indices);
   CheckEmptyLoop(sc_data, num_residues);
+
+  // try three loops (note: overlap resolution is tested with IdxHandler)
+  loop_lengths[0] = 3;
+  start_resnums.push_back(20);
+  start_resnums.push_back(30);
+  loop_lengths.push_back(2);
+  loop_lengths.push_back(1);
+  chain_indices.push_back(0);
+  chain_indices.push_back(0);
+  sc_data = sc_rec->Reconstruct(start_resnums, loop_lengths, chain_indices);
+  CheckRecData(sc_data, start_resnums, loop_lengths, num_residues);
 }
 
 BOOST_AUTO_TEST_CASE(test_sidechain_reconstructor_loops_crn) {
   // setup crn to test disulfid bridges
   ost::mol::EntityHandle test_ent = LoadTestStructure("data/1crn_sc_test.pdb");
+  // -> sc missing for THR2 & CYS3, 3 disulfid bridges expected...
   uint num_residues = test_ent.GetResidueCount();
   SidechainReconstructorPtr sc_rec = GetScRec(test_ent);