diff --git a/src/ipa/libipa/histogram.cpp b/src/ipa/libipa/histogram.cpp
index 6b5cde8e..c1aac59b 100644
--- a/src/ipa/libipa/histogram.cpp
+++ b/src/ipa/libipa/histogram.cpp
@@ -28,6 +28,15 @@ namespace ipa {
  * specified bin. It can be used to find quantiles and averages between quantiles.
  */
 
+/**
+ * \fn Histogram::Histogram()
+ * \brief Construct an empty Histogram
+ *
+ * This empty constructor exists largely to allow Histograms to be embedded in
+ * other classes which may be created before the contents of the Histogram are
+ * known.
+ */
+
 /**
  * \brief Create a cumulative histogram
  * \param[in] data A pre-sorted histogram to be passed
diff --git a/src/ipa/libipa/histogram.h b/src/ipa/libipa/histogram.h
index 05bb4b80..54bb2a19 100644
--- a/src/ipa/libipa/histogram.h
+++ b/src/ipa/libipa/histogram.h
@@ -22,6 +22,7 @@ namespace ipa {
 class Histogram
 {
 public:
+	Histogram() { cumulative_.push_back(0); }
 	Histogram(Span<const uint32_t> data);
 	size_t bins() const { return cumulative_.size() - 1; }
 	uint64_t total() const { return cumulative_[cumulative_.size() - 1]; }
