diff --git a/cpp/src/arrow/compute/kernels/aggregate_basic_internal.h b/cpp/src/arrow/compute/kernels/aggregate_basic_internal.h index 12d35b264e299..c1bbe9172f9dd 100644 --- a/cpp/src/arrow/compute/kernels/aggregate_basic_internal.h +++ b/cpp/src/arrow/compute/kernels/aggregate_basic_internal.h @@ -935,7 +935,7 @@ struct DictionaryMinMaxImpl : public ScalarAggregator { ARROW_ASSIGN_OR_RAISE(auto compacted_arr, dict_arr.Compact(ctx->memory_pool())); const DictionaryArray& compacted_dict_arr = checked_cast(*compacted_arr); - this->has_nulls = compacted_dict_arr.null_count() > 0; + this->has_nulls |= compacted_dict_arr.null_count() > 0; this->count += compacted_dict_arr.length() - compacted_dict_arr.null_count(); const std::shared_ptr& dict = compacted_dict_arr.dictionary();