diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index edfdb06..690bd55 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -16,13 +16,17 @@
 		self.doclist = doclist
 		
 	def autoname(self):
-		ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
-		if not ret:
-			msgprint("Please setup Employee Naming System in Setup > Global Defaults > HR", raise_exception=True)
+		naming_method = webnotes.conn.get_value("HR Settings", None, "emp_created_by")
+		if not naming_method:
+			webnotes.throw(_("Please setup Employee Naming System in Human Resource > HR Settings"))
 		else:
-			if ret[0][0]=='Naming Series':
+			if naming_method=='Naming Series':
+				if not self.doc.naming_series:
+					webnotes.throw(_("Please select Naming Neries"))
 				self.doc.name = make_autoname(self.doc.naming_series + '.####')
-			elif ret[0][0]=='Employee Number':
+			elif naming_method=='Employee Number':
+				if not self.doc.employee_number:
+					webnotes.throw(_("Please enter Employee Number"))
 				self.doc.name = self.doc.employee_number
 
 		self.doc.employee = self.doc.name
@@ -34,7 +38,6 @@
 		self.doc.employee = self.doc.name
 		self.validate_date()
 		self.validate_email()
-		self.validate_name()
 		self.validate_status()
 		self.validate_employee_leave_approver()
 		
@@ -136,20 +139,6 @@
 		if self.doc.personal_email and not validate_email_add(self.doc.personal_email):
 			msgprint("Please enter valid Personal Email")
 			raise Exception
-
-	def validate_name(self):	
-		ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
-
-		if not ret:
-			msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.")
-			raise Exception 
-		else:
-			if ret[0][0]=='Naming Series' and not self.doc.naming_series:
-				msgprint("Please select Naming Series.")
-				raise Exception 
-			elif ret[0][0]=='Employee Number' and not self.doc.employee_number:
-				msgprint("Please enter Employee Number.")
-				raise Exception 
 				
 	def validate_status(self):
 		if self.doc.status == 'Left' and not self.doc.relieving_date:
