diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 4e0c268..01ab91d 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -6,7 +6,7 @@
 
 from frappe.utils import getdate, validate_email_add, cint
 from frappe.model.naming import make_autoname
-from frappe import throw, _
+from frappe import throw, _, msgprint
 import frappe.permissions
 from frappe.model.document import Document
 from frappe.model.mapper import get_mapped_doc
@@ -144,12 +144,12 @@
 			throw(_("User {0} is already assigned to Employee {1}").format(self.user_id, employee[0]))
 
 	def validate_employee_leave_approver(self):
-		from frappe.utils.user import User
 		from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
 
-		for l in self.get("employee_leave_approvers"):
-			if "Leave Approver" not in User(l.leave_approver).get_roles():
-				throw(_("{0} is not a valid Leave Approver").format(l.leave_approver), InvalidLeaveApproverError)
+		for l in self.get("employee_leave_approvers")[:]:
+			if "Leave Approver" not in frappe.get_roles(l.leave_approver):
+				self.get("employee_leave_approvers").remove(l)
+				msgprint(_("{0} is not a valid Leave Approver. Removing row #{1}.").format(l.leave_approver, l.idx))
 
 	def update_dob_event(self):
 		if self.status == "Active" and self.date_of_birth \
diff --git a/erpnext/patches/v4_0/apply_user_permissions.py b/erpnext/patches/v4_0/apply_user_permissions.py
index e32e3e1..36c7781 100644
--- a/erpnext/patches/v4_0/apply_user_permissions.py
+++ b/erpnext/patches/v4_0/apply_user_permissions.py
@@ -25,7 +25,7 @@
 	frappe.clear_cache()
 
 	# save employees to run on_update events
-	for employee in frappe.db.sql_list("""select name from `tabEmployee`"""):
+	for employee in frappe.db.sql_list("""select name from `tabEmployee` where docstatus < 2"""):
 		try:
 			frappe.get_doc("Employee", employee).save()
 		except EmployeeUserDisabledError:
diff --git a/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py b/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py
index 76ec1a7..c1f3689 100644
--- a/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py
+++ b/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py
@@ -9,7 +9,10 @@
 	for user in frappe.db.sql_list("select distinct parent from `tabUserRole` where role='Employee'"):
 		# if employee record does not exists, remove employee role!
 		if not frappe.db.get_value("Employee", {"user_id": user}):
-			user = frappe.get_doc("User", user)
-			for role in user.get("user_roles", {"role": "Employee"}):
-				user.get("user_roles").remove(role)
-			user.save()
+			try:
+				user = frappe.get_doc("User", user)
+				for role in user.get("user_roles", {"role": "Employee"}):
+					user.get("user_roles").remove(role)
+				user.save()
+			except frappe.DoesNotExistError:
+				pass
