diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
old mode 100644
new mode 100755
index 55bc7aa..0fedfd6
--- a/erpnext/hr/doctype/employee/employee.js
+++ b/erpnext/hr/doctype/employee/employee.js
@@ -11,9 +11,12 @@
 	},
 
 	onload: function() {
-		this.frm.set_query("leave_approver", "leave_approvers", function() {
+		this.frm.set_query("leave_approver", "leave_approvers", function(doc) {
 			return {
-				filters: [["UserRole", "role", "=", "Leave Approver"]]
+				query:"erpnext.hr.doctype.employee_leave_approver.employee_leave_approver.get_approvers",
+				filters:{
+					user: doc.user_id
+				}
 			}
 		});
 	},
diff --git a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py
old mode 100644
new mode 100755
index 4d0178f..061f606
--- a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py
+++ b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py
@@ -9,4 +9,16 @@
 from frappe.model.document import Document
 
 class EmployeeLeaveApprover(Document):
-	pass
\ No newline at end of file
+	pass
+
+def get_approvers(doctype, txt, searchfield, start, page_len, filters):
+	return get_approver_list(filters.get("user"))
+		
+
+def get_approver_list(name):
+	return frappe.db.sql("""select user.name, user.first_name, user.last_name from
+		tabUser user, tabUserRole user_role where
+		user_role.role = "Leave Approver"
+		and user_role.parent = user.name and
+		user.name != %s 
+		""", name)
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js
index 9d44017..79c6d95 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.js
+++ b/erpnext/hr/doctype/leave_application/leave_application.js
@@ -31,7 +31,9 @@
 	},
 
 	leave_approver: function(frm) {
-		frm.set_value("leave_approver_name", frappe.user.full_name(frm.doc.leave_approver));
+		if(frm.doc.leave_approver){
+			frm.set_value("leave_approver_name", frappe.user.full_name(frm.doc.leave_approver));
+		}
 	},
 
 	employee: function(frm) {
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index 950400d..5bf7e9d 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -9,6 +9,7 @@
 from erpnext.hr.utils import set_employee_name
 from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
 from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee
+from erpnext.hr.doctype.employee_leave_approver.employee_leave_approver import get_approver_list
 
 
 class LeaveDayBlockedError(frappe.ValidationError): pass
@@ -247,12 +248,18 @@
 	if not filters.get("employee"):
 		frappe.throw(_("Please select Employee Record first."))
 
-	return frappe.db.sql("""select user.name, user.first_name, user.last_name from
+	employee_user = frappe.get_value("Employee", filters.get("employee"), "user_id")
+
+	approvers_list = frappe.db.sql("""select user.name, user.first_name, user.last_name from
 		tabUser user, `tabEmployee Leave Approver` approver where
 		approver.parent = %s
 		and user.name like %s
 		and approver.leave_approver=user.name""", (filters.get("employee"), "%" + txt + "%"))
 
+	if not approvers_list:
+		approvers_list = get_approver_list(employee_user)
+	return approvers_list
+
 @frappe.whitelist()
 def get_number_of_leave_days(employee, leave_type, from_date, to_date, half_day=None):
 	if half_day:
