diff --git a/gnucash/report/html-piechart.scm b/gnucash/report/html-piechart.scm
index 2bc56d1dce..fb6f3a3e63 100644
--- a/gnucash/report/html-piechart.scm
+++ b/gnucash/report/html-piechart.scm
@@ -151,6 +151,14 @@
(define gnc:html-piechart-set-button-3-legend-urls!
(record-modifier 'button-3-legend-urls))
+(define (gnc:not-all-zeros data)
+ (define (myor list)
+ (if (null? list) #f
+ (or (car list) (myor (cdr list)))))
+ (cond ((number? data) (not (= 0 data)))
+ ((list? data) (myor (map gnc:not-all-zeros data)))
+ (else #f)))
+
(define (gnc:html-piechart-render piechart doc)
(let* ((chart (gnc:make-html-chart))
(title (gnc:html-piechart-title piechart))
diff --git a/gnucash/report/html-scatter.scm b/gnucash/report/html-scatter.scm
index 77ebf5aa83..d16f925699 100644
--- a/gnucash/report/html-scatter.scm
+++ b/gnucash/report/html-scatter.scm
@@ -132,6 +132,14 @@
scatter
(cons newpoint (gnc:html-scatter-data scatter)))))
+(define (gnc:not-all-zeros data)
+ (define (myor list)
+ (if (null? list) #f
+ (or (car list) (myor (cdr list)))))
+ (cond ((number? data) (not (= 0 data)))
+ ((list? data) (myor (map gnc:not-all-zeros data)))
+ (else #f)))
+
;; The Renderer
(define (gnc:html-scatter-render scatter doc)
(let* ((chart (gnc:make-html-chart))