diff --git a/src/base/statistics.hh b/src/base/statistics.hh
index 18f52cb..8fc71eb 100644
--- a/src/base/statistics.hh
+++ b/src/base/statistics.hh
@@ -952,7 +952,10 @@
         fatal_if(s <= 0, "Storage size must be positive");
         fatal_if(check(), "Stat has already been initialized");
 
-        storage.resize(s, new Storage(this->info()->getStorageParams()));
+        storage.reserve(s);
+        for (size_type i = 0; i < s; ++i)
+            storage.push_back(new Storage(this->info()->getStorageParams()));
+
         this->setInit();
     }
 
@@ -1178,7 +1181,10 @@
         info->x = _x;
         info->y = _y;
 
-        storage.resize(x * y, new Storage(info->getStorageParams()));
+        storage.reserve(x * y);
+        for (size_type i = 0; i < x * y; ++i)
+            storage.push_back(new Storage(this->info()->getStorageParams()));
+
         this->setInit();
 
         return self;
@@ -1387,7 +1393,10 @@
         fatal_if(s <= 0, "Storage size must be positive");
         fatal_if(check(), "Stat has already been initialized");
 
-        storage.resize(s, new Storage(this->info()->getStorageParams()));
+        storage.reserve(s);
+        for (size_type i = 0; i < s; ++i)
+            storage.push_back(new Storage(this->info()->getStorageParams()));
+
         this->setInit();
     }
 
