diff --git a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.js b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.js
index 9870ee4..5e12828 100644
--- a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.js
+++ b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.js
@@ -5,8 +5,8 @@
 	setup: function(frm) {
 		frm.set_query("earning_component", function() {
 			return {
-				query : "erpnext.hr.doctype.employee_benefit_claim.employee_benefit_claim.get_earning_components_for_claim",
-				filters: {claim_date: frm.doc.claim_date, employee: frm.doc.employee}
+				query : "erpnext.hr.doctype.employee_benefit_application.employee_benefit_application.get_earning_components",
+				filters: {date: frm.doc.claim_date, employee: frm.doc.employee}
 			};
 		});
 	},
diff --git a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py
index b1dbcaa..cd9c07c 100644
--- a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py
+++ b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py
@@ -121,48 +121,3 @@
 		if len(salary_components_array) > 0:
 			return salary_components_array
 	return False
-
-def get_earning_components_for_claim(doctype, txt, searchfield, start, page_len, filters):
-	if len(filters) < 2:
-		return {}
-	employee = filters['employee']
-	claim_date = filters['claim_date']
-
-	payroll_period = get_payroll_period(claim_date, claim_date, frappe.db.get_value("Employee", employee, "company"))
-	application = frappe.db.exists(
-		"Employee Benefit Application",
-		{
-			'employee': employee,
-			'payroll_period': payroll_period.name,
-			'docstatus': 1
-		}
-	)
-	earning_components = get_earning_components_from_application(doctype, application, start, page_len)
-
-	if not earning_components:
-		earning_components = get_all_pro_rata_earning_components(doctype, start, page_len)
-	return earning_components
-
-def get_earning_components_from_application(doctype, parent, start, page_len):
-	query = """select earning_component from `tabEmployee Benefit Application Detail` where parent = '{parent}'
-	order by name"""
-
-	return frappe.db.sql(query.format(**{
-		"parent": parent,
-		"mcond": get_match_cond(doctype)
-	}), {
-		'start': start,
-		'page_len': page_len
-	})
-
-def get_all_pro_rata_earning_components(doctype, start, page_len):
-	return frappe.db.sql("""
-		select name from `tabSalary Component`
-		where is_flexible_benefit = 1 and is_pro_rata_applicable = 1
-		and type = 'Earning' and disabled = 0
-	""".format(**{
-		"mcond": get_match_cond(doctype)
-	}), {
-		'start': start,
-		'page_len': page_len
-	})
