diff --git a/src/LarvaDatasets.jl b/src/LarvaDatasets.jl
index b531b73254fe1606624399e3a95467e1e656a4f0..0fd33be529c140fc9450319e7032a1075be26451 100644
--- a/src/LarvaDatasets.jl
+++ b/src/LarvaDatasets.jl
@@ -597,7 +597,8 @@ function write_larva_dataset_hdf5(output_dir::String,
         sample_sizes, total_sample_size = thresholdedcounts(counts)
     end
     # ensure label order is preserved
-    sample_sizes = OrderedDict((label => sample_sizes[label]) for label in labels if label in keys(sample_sizes))
+    labels′= isnothing(includeall) ? labels : push!(collect(labels), includeall)
+    sample_sizes = OrderedDict((label => sample_sizes[label]) for label in labels′ if label in keys(counts))
     #
     @info "Sample sizes (observed, selected):" [Symbol(label) => (get(counts, label, 0), get(sample_sizes, label, 0)) for label in labels]...
     date = Dates.format(Dates.now(), "yyyy_mm_dd")