diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index 1a0f76e..8f6b598 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -243,13 +243,9 @@
 					out = this.group_data_by_ledger(grouped_ledgers);
 			}
 			
-			if(me.account_by_name[me.account].debit_or_credit == "Debit") {
-				opening.debit -= opening.credit; opening.credit = 0;
-				closing.debit -= closing.credit; closing.credit = 0;
-			} else {
-				opening.credit -= opening.debit; opening.debit = 0;
-				closing.credit -= closing.debit; closing.debit = 0;
-			}
+			opening = me.get_balance(me.account_by_name[me.account].debit_or_credit, opening)
+			closing = me.get_balance(me.account_by_name[me.account].debit_or_credit, closing)
+			
 			out = [opening].concat(out).concat([totals, closing]);
 		} else {
 			me.appframe.set_title("General Ledger");
@@ -260,6 +256,7 @@
 	},
 
 	group_data_by_ledger: function(grouped_ledgers) {
+		var me = this;
 		var out = []
 		$.each(Object.keys(grouped_ledgers).sort(), function(i, account) {
 			if(grouped_ledgers[account].entries.length) {
@@ -270,7 +267,14 @@
 				grouped_ledgers[account].closing.credit = 
 					grouped_ledgers[account].opening.credit
 					+ grouped_ledgers[account].totals.credit;
-
+			
+				grouped_ledgers[account].opening = 
+					me.get_balance(me.account_by_name[me.account].debit_or_credit,
+					grouped_ledgers[account].opening)
+				grouped_ledgers[account].closing = 
+					me.get_balance(me.account_by_name[me.account].debit_or_credit, 
+					grouped_ledgers[account].closing)
+				
 				out = out.concat([grouped_ledgers[account].opening])
 					.concat(grouped_ledgers[account].entries)
 					.concat([grouped_ledgers[account].totals, 
@@ -280,6 +284,15 @@
 		});
 		return [{id: "_blank_first", _no_format: true, debit: "", credit: ""}].concat(out);
 	},
+	
+	get_balance: function(debit_or_credit, balance) {
+		if(debit_or_credit == "Debit") {
+			balance.debit -= balance.credit; balance.credit = 0;
+		} else {
+			balance.credit -= balance.debit; balance.debit = 0;
+		}
+		return balance
+	},
 
 	make_summary_row: function(label, item_account) {
 		return {
