diff --git a/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py b/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
index 862a1c5..a19ddce 100644
--- a/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
+++ b/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
@@ -22,7 +22,9 @@
 		for doctype in ["Leave Period", "Leave Application", "Leave Allocation", "Leave Policy Assignment", "Leave Ledger Entry"]:
 			frappe.db.delete(doctype)
 
-		self.employee = get_employee()
+		employee = get_employee()
+		self.original_doj = employee.date_of_joining
+		self.employee = employee
 
 	def test_grant_leaves(self):
 		leave_period = get_leave_period()
@@ -193,7 +195,6 @@
 		}).submit()
 
 		# joining date set to 2 months back
-		doj = self.employee.date_of_joining
 		self.employee.date_of_joining = get_first_day(add_months(getdate(), -2))
 		self.employee.save()
 
@@ -219,15 +220,11 @@
 			"total_leaves_allocated")
 		self.assertEqual(leaves_allocated, 3)
 
-		# reset DOJ
-		frappe.db.set_value("Employee", self.employee.name, "date_of_joining", doj)
-
 	def test_grant_leaves_on_doj_for_earned_leaves_based_on_leave_period(self):
 		# tests leave alloc based on leave period for earned leaves with "based on doj" configuration in leave type
 		leave_period, leave_policy = setup_leave_period_and_policy(get_first_day(add_months(getdate(), -2)), based_on_doj=True)
 
 		# joining date set to 2 months back
-		doj = self.employee.date_of_joining
 		self.employee.date_of_joining = get_first_day(add_months(getdate(), -2))
 		self.employee.save()
 
@@ -257,9 +254,6 @@
 		}, "total_leaves_allocated")
 		self.assertEqual(leaves_allocated, 3)
 
-		# reset DOJ
-		frappe.db.set_value("Employee", self.employee.name, "date_of_joining", doj)
-
 	def test_grant_leaves_on_doj_for_earned_leaves_based_on_joining_date(self):
 		# tests leave alloc based on joining date for earned leaves with "based on doj" configuration in leave type
 		leave_type = create_earned_leave_type("Test Earned Leave", based_on_doj=True)
@@ -271,7 +265,6 @@
 
 		# joining date set to 2 months back
 		# leave should be allocated for current month too since this day is same as the joining day
-		doj = self.employee.date_of_joining
 		self.employee.date_of_joining = get_first_day(add_months(getdate(), -2))
 		self.employee.save()
 
@@ -297,11 +290,10 @@
 			"total_leaves_allocated")
 		self.assertEqual(leaves_allocated, 3)
 
-		# reset DOJ
-		frappe.db.set_value("Employee", self.employee.name, "date_of_joining", doj)
-
 	def tearDown(self):
 		frappe.db.rollback()
+		frappe.db.set_value("Employee", self.employee.name, "date_of_joining", self.original_doj)
+		frappe.flags.current_date = None
 
 
 def create_earned_leave_type(leave_type, based_on_doj=False):
