diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index fad4068..b33def2 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -343,7 +343,7 @@
 
 @frappe.whitelist()
 def get_leave_balance_on(employee, leave_type, date, allocation_records=None,
-		consider_all_leaves_in_the_allocation_period=False):
+		consider_all_leaves_in_the_allocation_period=False, consider_encshed_leaves=True):
 	if allocation_records == None:
 		allocation_records = get_leave_allocation_records(date, employee).get(employee, frappe._dict())
 
@@ -353,7 +353,10 @@
 		date = allocation.to_date
 	leaves_taken = get_leaves_for_period(employee, leave_type, allocation.from_date, date, status=Approved)
 
-	return flt(allocation.total_leaves_allocated) - flt(leaves_taken)
+	if frappe.db.get_value("Leave Type", leave_type, 'allow_encashment') and consider_encshed_leaves:
+		leaves_encashed = flt(allocation.total_leaves_encashed)
+
+	return flt(allocation.total_leaves_allocated) - (flt(leaves_taken) + flt(leaves_encashed))
 
 def get_leaves_for_period(employee, leave_type, from_date, to_date, status):
 	leave_applications = frappe.db.sql("""
@@ -391,7 +394,7 @@
 	conditions = (" and employee='%s'" % employee) if employee else ""
 
 	leave_allocation_records = frappe.db.sql("""
-		select employee, leave_type, total_leaves_allocated, from_date, to_date
+		select employee, leave_type, total_leaves_allocated, total_leaves_encashed, from_date, to_date
 		from `tabLeave Allocation`
 		where %s between from_date and to_date and docstatus=1 {0}""".format(conditions), (date), as_dict=1)
 
@@ -400,7 +403,8 @@
 		allocated_leaves.setdefault(d.employee, frappe._dict()).setdefault(d.leave_type, frappe._dict({
 			"from_date": d.from_date,
 			"to_date": d.to_date,
-			"total_leaves_allocated": d.total_leaves_allocated
+			"total_leaves_allocated": d.total_leaves_allocated,
+			"total_leaves_encashed":d.total_leaves_encashed
 		}))
 
 	return allocated_leaves
