diff --git a/src/libnptm/Configuration.cpp b/src/libnptm/Configuration.cpp
index 0356100aaaca19afed0c9da734747f9aebff5805..fa91d648c506b59a474105e039ec95e7114dfbbd 100644
--- a/src/libnptm/Configuration.cpp
+++ b/src/libnptm/Configuration.cpp
@@ -289,9 +289,9 @@ ScattererConfiguration::ScattererConfiguration(const  ScattererConfiguration& rh
   wp = rhs.wp;
   xip = rhs.xip;
   iog_vec = new int[number_of_spheres]();
-  radii_of_spheres = new double[configurations]();
-  nshl_vec = new int[configurations]();
-  rcf = new double*[configurations];
+  radii_of_spheres = new double[number_of_spheres]();
+  nshl_vec = new int[number_of_spheres]();
+  rcf = new double*[number_of_spheres];
   scale_vec = new double[number_of_scales]();
   dc0_matrix = new dcomplex**[configurations];
   for (int si = 0; si < number_of_scales; si++) scale_vec[si] = rhs.scale_vec[si];
@@ -639,9 +639,9 @@ ScattererConfiguration* ScattererConfiguration::from_hdf5(string file_name) {
       if (iog[ci] < ci + 1) continue;
       configuration_count++;
     }
-    nshl_vector = new int[configuration_count]();
-    ros_vector = new double[configuration_count]();
-    rcf_vector = new double*[configuration_count];
+    nshl_vector = new int[nsph]();
+    ros_vector = new double[nsph]();
+    rcf_vector = new double*[nsph];
     for (int i115 = 1; i115 <= nsph; i115++) {
       if (iog[i115 - 1] < i115) continue;
       str_name = "NSHL_" + to_string(iog[i115 - 1]);