diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.js b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
index 2a26a85..7c3e1e4 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.js
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
@@ -22,7 +22,7 @@
 	},
 
 	refresh: function(frm) {
-		if(frm.doc.docstatus === 1 && frm.doc.status === "Active") {
+		if(frm.doc.docstatus === 1 && frm.doc.expired) {
 			var valid_expiry = moment(frappe.datetime.get_today()).isBetween(frm.doc.from_date, frm.doc.to_date);
 			if(valid_expiry) {
 				// expire current allocation
@@ -35,11 +35,8 @@
 
 	expire_allocation: function(frm) {
 		frappe.call({
-			method: 'expire_allocation',
+			method: 'expire_current_allocation',
 			doc: frm.doc,
-			args: {
-				current: true
-			},
 			freeze: true,
 			callback: function(r){
 				if(!r.exc){
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.json b/erpnext/hr/doctype/leave_allocation/leave_allocation.json
index 41d864d..1618c67 100644
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.json
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.json
@@ -24,7 +24,7 @@
   "compensatory_request",
   "leave_period",
   "leave_policy",
-  "status",
+  "expired",
   "amended_from",
   "notes",
   "description"
@@ -168,15 +168,6 @@
    "read_only": 1
   },
   {
-   "fieldname": "status",
-   "fieldtype": "Select",
-   "hidden": 1,
-   "in_standard_filter": 1,
-   "label": "Status",
-   "options": "Active\nExpired",
-   "read_only": 1
-  },
-  {
    "fieldname": "amended_from",
    "fieldtype": "Link",
    "ignore_user_permissions": 1,
@@ -201,12 +192,21 @@
    "oldfieldname": "reason",
    "oldfieldtype": "Small Text",
    "width": "300px"
+  },
+  {
+   "default": "0",
+   "fieldname": "expired",
+   "fieldtype": "Check",
+   "hidden": 1,
+   "in_standard_filter": 1,
+   "label": "Expired",
+   "read_only": 1
   }
  ],
  "icon": "fa fa-ok",
  "idx": 1,
  "is_submittable": 1,
- "modified": "2019-06-14 15:39:02.898695",
+ "modified": "2019-07-22 17:50:39.591195",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Allocation",
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
index df479e7..494043f 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.py
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
@@ -42,7 +42,7 @@
 
 	def on_submit(self):
 		self.create_leave_ledger_entry()
-		self.expire_allocation()
+		self.expire_previous_allocation()
 
 	def on_cancel(self):
 		self.create_leave_ledger_entry(submit=False)
@@ -128,14 +128,14 @@
 		)
 		create_leave_ledger_entry(self, args, submit)
 
-	def expire_allocation(self, current=False):
+	def expire_current_allocation(self):
 		''' expires allocation '''
-		date = self.to_date if current else self.from_date
+		date = self.to_date
 		leaves = get_unused_leaves(self.employee, self.leave_type, date)
-		ref_name = self.name if current else self.get_previous_allocation()
+		ref_name = self.name
 
 		if leaves:
-			expiry_date = today() if current else add_days(self.from_date, -1)
+			expiry_date = today()
 			args = dict(
 				leaves=flt(leaves) * -1,
 				transaction_name=ref_name,
@@ -146,8 +146,26 @@
 			)
 			create_leave_ledger_entry(self, args)
 
-		if current:
-			frappe.db.set_value("Leave Allocation", self.name, "status", "Expired")
+		frappe.db.set_value("Leave Allocation", self.name, "expired", 1)
+
+	def expire_previous_allocation(self):
+		date = self.from_date
+		leaves = get_unused_leaves(self.employee, self.leave_type, date)
+		ref_name = self.get_previous_allocation()
+
+		if leaves:
+			expiry_date = add_days(self.from_date, -1)
+			args = dict(
+				leaves=flt(leaves) * -1,
+				transaction_name=ref_name,
+				from_date=expiry_date,
+				to_date=expiry_date,
+				is_carry_forward=0,
+				is_expired=1
+			)
+			create_leave_ledger_entry(self, args)
+
+		frappe.db.set_value("Leave Allocation", ref_name, "expired", 1)
 
 	def get_previous_allocation(self):
 		return frappe.db.get_value("Leave Allocation",
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation_list.js b/erpnext/hr/doctype/leave_allocation/leave_allocation_list.js
index 3ea0e24..93f7b83 100644
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation_list.js
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation_list.js
@@ -5,7 +5,7 @@
 frappe.listview_settings['Leave Allocation'] = {
 	get_indicator: function(doc) {
 		if(doc.status==="Expired") {
-			return [__("Expired"), "darkgrey", "status, =, Expired"];
+			return [__("Expired"), "darkgrey", "expired, =, 1"];
 		}
 	},
 };
diff --git a/erpnext/patches/v12_0/generate_leave_ledger_entries.py b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
index 8a92bb3..f2a798e 100644
--- a/erpnext/patches/v12_0/generate_leave_ledger_entries.py
+++ b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
@@ -54,7 +54,7 @@
 		if not frappe.db.exists("Leave Ledger Entry", {'transaction_type': 'Leave Allocation', 'transaction_name': allocation.name, 'is_expired': 1}):
 			allocation.update(dict(doctype="Leave Allocation"))
 			allocation_obj = frappe.get_doc(allocation)
-			allocation_obj.expire_allocation()
+			allocation_obj.expire_previous_allocation()
 
 def get_allocation_records():
 	return frappe.db.sql("""
