diff --git a/Device/Histo/Histogram1D.cpp b/Device/Histo/Histogram1D.cpp
index ef6dfe84d10643c5e9c88021d8f56c447dd1984a..e80f585e00c2e614896f7936d162c44f3c6b2a84 100644
--- a/Device/Histo/Histogram1D.cpp
+++ b/Device/Histo/Histogram1D.cpp
@@ -18,13 +18,13 @@
 #include <memory>
 
 Histogram1D::Histogram1D(int nbinsx, double xlow, double xup)
+    : IHistogram(FixedBinAxis("x-axis", nbinsx, xlow, xup))
 {
-    m_data.addAxis(FixedBinAxis("x-axis", nbinsx, xlow, xup));
 }
 
 Histogram1D::Histogram1D(int nbinsx, const std::vector<double>& xbins)
+    : IHistogram(VariableBinAxis("x-axis", nbinsx, xbins))
 {
-    m_data.addAxis(VariableBinAxis("x-axis", nbinsx, xbins));
 }
 
 Histogram1D::Histogram1D(const IAxis& axis)
diff --git a/Device/Histo/Histogram2D.cpp b/Device/Histo/Histogram2D.cpp
index b8beca54ffca08b193c6cd5b852bee53a59dffe4..aad9707987c7483ada4de7ffefd39be7db724bad 100644
--- a/Device/Histo/Histogram2D.cpp
+++ b/Device/Histo/Histogram2D.cpp
@@ -18,16 +18,16 @@
 #include <memory>
 
 Histogram2D::Histogram2D(int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup)
+    : IHistogram(FixedBinAxis("x-axis", nbinsx, xlow, xup),
+                 FixedBinAxis("y-axis", nbinsy, ylow, yup))
 {
-    m_data.addAxis(FixedBinAxis("x-axis", nbinsx, xlow, xup));
-    m_data.addAxis(FixedBinAxis("y-axis", nbinsy, ylow, yup));
 }
 
 Histogram2D::Histogram2D(int nbinsx, const std::vector<double>& xbins, int nbinsy,
                          const std::vector<double>& ybins)
+    : IHistogram(VariableBinAxis("x-axis", nbinsx, xbins),
+                 VariableBinAxis("y-axis", nbinsy, ybins))
 {
-    m_data.addAxis(VariableBinAxis("x-axis", nbinsx, xbins));
-    m_data.addAxis(VariableBinAxis("y-axis", nbinsy, ybins));
 }
 
 Histogram2D::Histogram2D(const IAxis& axis_x, const IAxis& axis_y)