diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
index dc270db..e755da5 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.py
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
@@ -62,11 +62,18 @@
 		if flt(self.new_leaves_allocated) % 0.5:
 			frappe.throw(_("Leaves must be allocated in multiples of 0.5"), ValueMultiplierError)
 
-	def validate_allocation_overlap(self):
+	def validate_allocation_overlap(self, carry_forward=0):
 		leave_allocation = frappe.db.sql("""
-			select name from `tabLeave Allocation`
-			where employee=%s and leave_type=%s and docstatus=1
-			and to_date >= %s and from_date <= %s""",
+			SELECT
+				name
+			FROM `tabLeave Allocation`
+			WHERE
+				employee=%s
+				AND leave_type=%s
+				AND docstatus=1
+				AND is_carry_forward={0}
+				AND to_date >= %s
+				AND from_date <= %s""".format(carry_forward),
 			(self.employee, self.leave_type, self.from_date, self.to_date))
 
 		if leave_allocation:
@@ -111,6 +118,11 @@
 			else:
 				frappe.throw(_("Total allocated leaves {0} cannot be less than already approved leaves {1} for the period").format(self.total_leaves_allocated, leaves_taken), LessAllocationError)
 
+	def set_carry_forward_leaves(self):
+		self.validate_allocation_overlap(carry_forward=1)
+		self.old_leaves_allocated = get_carry_forwarded_leaves(self.employee, self.leave_type,
+			self.from_date, self.is_carry_forward)
+
 def get_leave_allocation_for_period(employee, leave_type, from_date, to_date):
 	leave_allocated = 0
 	leave_allocations = frappe.db.sql("""
@@ -135,17 +147,25 @@
 	return leave_allocated
 
 @frappe.whitelist()
-def get_carry_forwarded_leaves(employee, leave_type, date, carry_forward=None):
+def get_carry_forwarded_leaves(employee, leave_type, date, is_carry_forward=None):
 	carry_forwarded_leaves = 0
 
-	if carry_forward:
+	if is_carry_forward:
 		validate_carry_forward(leave_type)
 
 		previous_allocation = frappe.db.sql("""
-			select name, from_date, to_date, total_leaves_allocated
-			from `tabLeave Allocation`
-			where employee=%s and leave_type=%s and docstatus=1 and to_date < %s
-			order by to_date desc limit 1
+			SELECT
+				name,
+				from_date,
+				to_date,
+				total_leaves_allocated
+			FROM `tabLeave Allocation`
+			WHERE
+				employee=%s
+				AND leave_type=%s
+				AND docstatus=1
+				AND to_date < %s
+			ORDER BY to_date desc limit 1
 		""", (employee, leave_type, date), as_dict=1)
 		if previous_allocation:
 			leaves_taken = get_approved_leaves_for_period(employee, leave_type,
@@ -157,4 +177,4 @@
 
 def validate_carry_forward(leave_type):
 	if not frappe.db.get_value("Leave Type", leave_type, "is_carry_forward"):
-		frappe.throw(_("Leave Type {0} cannot be carry-forwarded").format(leave_type))
+		frappe.throw(_("Leave Type {0} cannot be carry-forwarded").format(leave_type))
\ No newline at end of file
