diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 2a7aedc..2ffa1bf 100644
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -29,7 +29,7 @@
 	def validate(self):
 		self.validate_dates()
 		self.validate_depends_on()
-		self.reschedule_depending_task()
+		self.reschedule_dependent_task()
 		
 	def validate_dates(self):
 		if self.exp_start_date and self.exp_end_date and getdate(self.exp_start_date) > getdate(self.exp_end_date):
@@ -87,14 +87,16 @@
 			task_list.append(task)
 			return frappe.db.get_value("Task", task, "depends_on")
 			
-	def reschedule_depending_task(self):
-		for task_name in frappe.db.sql("select name from `tabTask` where depends_on = %s", self.name, as_dict=1):
-			task = frappe.get_doc("Task", task_name.name)
-			if task.exp_start_date and task.exp_end_date and (self.exp_end_date or self.act_end_date):
-				task_duration = date_diff(task.exp_end_date, task.exp_start_date)
-				task.exp_start_date = add_days(self.act_end_date if self.act_end_date else self.exp_end_date, 1)
-				task.exp_end_date = add_days(task.exp_start_date, task_duration)
-				task.save()
+	def reschedule_dependent_task(self):
+		end_date = self.exp_end_date or self.act_end_date
+		if end_date:
+			for task_name in frappe.db.sql("select name from `tabTask` where depends_on = %s", self.name, as_dict=1):
+				task = frappe.get_doc("Task", task_name.name)
+				if task.exp_start_date and task.exp_end_date and task.exp_start_date < end_date and task.status == "Open" :
+					task_duration = date_diff(task.exp_end_date, task.exp_start_date)
+					task.exp_start_date = add_days(end_date, 1)
+					task.exp_end_date = add_days(task.exp_start_date, task_duration)
+					task.save()
 
 @frappe.whitelist()
 def get_events(start, end, filters=None):
diff --git a/erpnext/projects/doctype/task/test_task.py b/erpnext/projects/doctype/task/test_task.py
index 30a64f2..bc5ee14 100644
--- a/erpnext/projects/doctype/task/test_task.py
+++ b/erpnext/projects/doctype/task/test_task.py
@@ -39,7 +39,7 @@
 		})
 		self.assertRaises(CircularReferenceError, task1.save)
 		
-	def test_reschedule_depending_task(self):
+	def test_reschedule_dependent_task(self):
 		task1 =  frappe.new_doc('Task')
 		task1.update({
 			"status": "Open", 
