diff --git a/src/report/report-system/html-acct-table.scm b/src/report/report-system/html-acct-table.scm
index 29106fef2c..c95ea3b76e 100644
--- a/src/report/report-system/html-acct-table.scm
+++ b/src/report/report-system/html-acct-table.scm
@@ -679,26 +679,31 @@
shares))))
splits))
- (merge-splits (gnc:account-get-trans-type-splits-interval
- accts #f start-date end-date)
- #f)
- (cond
- ((equal? balance-mode 'post-closing) #t)
-
- ((equal? balance-mode 'pre-closing)
- (merge-splits (gnc:account-get-trans-type-splits-interval
- accts closing-pattern start-date end-date)
- #t))
-
- ((equal? balance-mode 'pre-adjusting)
- (merge-splits (gnc:account-get-trans-type-splits-interval
- accts closing-pattern start-date end-date)
- #t)
- (merge-splits (gnc:account-get-trans-type-splits-interval
- accts adjusting-pattern start-date end-date)
- #t))
- (else (begin (display "you fail it")
- (newline))))
+ ;; If you pass a null account list to gnc:account-get-trans-type-splits-interval
+ ;; it returns splits from all accounts rather than from no accounts. This is
+ ;; probably a bug but we'll work around it for now.
+ (if (not (null? accts))
+ (begin
+ (merge-splits (gnc:account-get-trans-type-splits-interval
+ accts #f start-date end-date)
+ #f)
+ (cond
+ ((equal? balance-mode 'post-closing) #t)
+
+ ((equal? balance-mode 'pre-closing)
+ (merge-splits (gnc:account-get-trans-type-splits-interval
+ accts closing-pattern start-date end-date)
+ #t))
+
+ ((equal? balance-mode 'pre-adjusting)
+ (merge-splits (gnc:account-get-trans-type-splits-interval
+ accts closing-pattern start-date end-date)
+ #t)
+ (merge-splits (gnc:account-get-trans-type-splits-interval
+ accts adjusting-pattern start-date end-date)
+ #t))
+ (else (begin (display "you fail it")
+ (newline))))))
hash-table
)
diff --git a/src/report/standard-reports/balance-sheet.scm b/src/report/standard-reports/balance-sheet.scm
index 42da4f5f15..f16d0e2178 100644
--- a/src/report/standard-reports/balance-sheet.scm
+++ b/src/report/standard-reports/balance-sheet.scm
@@ -507,8 +507,13 @@
neg-retained-earnings
#f)
(set! neg-trading-balance
- (gnc:accountlist-get-comm-balance-at-date
- trading-accounts date-tp))
+ ;; If you pass a null account list to gnc:accountlist-get-comm-balance-at-date
+ ;; it calculates a balance for all accounts, instead of no accounts. This is
+ ;; probably a bug, but for now we'll work around it.
+ (if (null? trading-accounts)
+ (gnc:make-commodity-collector)
+ (gnc:accountlist-get-comm-balance-at-date
+ trading-accounts date-tp)))
(set! trading-balance (gnc:make-commodity-collector))
(trading-balance 'minusmerge
neg-trading-balance