diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py
index 30a0fa7..9978bb4 100644
--- a/erpnext/accounts/report/financial_statements.py
+++ b/erpnext/accounts/report/financial_statements.py
@@ -11,9 +11,12 @@
 	"""Get a list of dict {"to_date": to_date, "key": key, "label": label}
 		Periodicity can be (Yearly, Quarterly, Monthly)"""
 
-	start_date, end_date = frappe.db.get_value("Fiscal Year", fiscal_year, ["year_start_date", "year_end_date"])
-	start_date = getdate(start_date)
-	end_date = getdate(end_date)
+	fy_start_end_date = frappe.db.get_value("Fiscal Year", fiscal_year, ["year_start_date", "year_end_date"])
+	if not fy_start_end_date:
+		frappe.throw(_("Fiscal Year {0} not found.").format(fiscal_year))
+
+	start_date = getdate(fy_start_end_date[0])
+	end_date = getdate(fy_start_end_date[1])
 
 	if periodicity == "Yearly":
 		period_list = [_dict({"to_date": end_date, "key": fiscal_year, "label": fiscal_year})]
diff --git a/erpnext/hr/doctype/salary_manager/salary_manager.py b/erpnext/hr/doctype/salary_manager/salary_manager.py
index 7d962e3..61e6f69 100644
--- a/erpnext/hr/doctype/salary_manager/salary_manager.py
+++ b/erpnext/hr/doctype/salary_manager/salary_manager.py
@@ -128,11 +128,8 @@
 		for ss in ss_list:
 			ss_obj = frappe.get_doc("Salary Slip",ss[0])
 			try:
-				frappe.db.set(ss_obj, 'email_check', cint(self.send_email))
-				if cint(self.send_email) == 1:
-					ss_obj.send_mail_funct()
-
-				frappe.db.set(ss_obj, 'docstatus', 1)
+				ss_obj.email_check = self.send_email
+				ss_obj.submit()
 			except Exception,e:
 				not_submitted_ss.append(ss[0])
 				frappe.msgprint(e)
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js
index ee42d0c..ddaf88c 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.js
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.js
@@ -14,8 +14,6 @@
 	if((!doc.__islocal) && (doc.is_active == 'Yes')){
 		cur_frm.add_custom_button(__('Make Salary Slip'), cur_frm.cscript['Make Salary Slip']);
 	}
-
-	cur_frm.toggle_enable('employee', doc.__islocal);
 }
 
 cur_frm.cscript['Make Salary Slip'] = function() {
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.py b/erpnext/hr/doctype/salary_structure/salary_structure.py
index f3d2eb1..93b0c26 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.py
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.py
@@ -54,18 +54,27 @@
 	def check_existing(self):
 		ret = frappe.db.sql("""select name from `tabSalary Structure` where is_active = 'Yes'
 			and employee = %s and name!=%s""", (self.employee,self.name))
+
 		if ret and self.is_active=='Yes':
-			frappe.throw(_("Another Salary Structure {0} is active for employee {0}. Please make its status 'Inactive' to proceed.").format(cstr(ret), self.employee))
+			frappe.throw(_("Another Salary Structure {0} is active for employee {1}. Please make its status 'Inactive' to proceed.").format(cstr(ret[0][0]), self.employee))
 
 	def validate_amount(self):
 		if flt(self.net_pay) < 0:
 			frappe.throw(_("Net pay cannot be negative"))
 
+	def validate_employee(self):
+		old_employee = frappe.db.get_value("Salary Structure", self.name, "employee")
+		if old_employee and self.employee != old_employee:
+			frappe.throw(_("Employee can not be changed"))
+
+
 	def validate(self):
 		self.check_existing()
 		self.validate_amount()
+		self.validate_employee()
 		set_employee_name(self)
 
+
 @frappe.whitelist()
 def make_salary_slip(source_name, target_doc=None):
 	def postprocess(source, target):
