diff --git a/packages/dai-plugin-mcd/src/SavingsService.js b/packages/dai-plugin-mcd/src/SavingsService.js
index <HASH>..<HASH> 100644
--- a/packages/dai-plugin-mcd/src/SavingsService.js
+++ b/packages/dai-plugin-mcd/src/SavingsService.js
@@ -119,10 +119,8 @@ export default class SavingsService extends PublicService {
       if (type === 'DSR_DEPOSIT') sum = sum.plus(amount);
       if (type === 'DSR_WITHDRAW') sum = sum.minus(amount);
     });
-    // must cast to BN or this will throw if creating a negative currency amount
-    const balance = (await this.balance()).toBigNumber();
-
-    return balance.minus(sum);
+    const balance = await this.balance();
+    return balance.gt(sum) ? balance.minus(sum) : MDAI(0);
   }
 
   resetEventHistoryCache(address = null) {
SAVE-<I> return 0 if balance is less than sum