diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 63db6cd..a470ed9 100755
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -12,7 +12,7 @@
 
 
 class CircularReferenceError(frappe.ValidationError): pass
-class EndDateConnotGreaterThanProjecteEndDateError(frappe.ValidationError): pass
+class EndDateCannotGreaterThanProjecteEndDateError(frappe.ValidationError): pass
 
 class Task(NestedSet):
 	nsm_parent_field = 'parent_task'
@@ -45,10 +45,11 @@
 			frappe.throw(_("'Actual Start Date' can not be greater than 'Actual End Date'"))
 
 		if(self.project):
-			doc = frappe.get_doc("Project", self.project)
-			if  self.exp_end_date and doc.expected_end_date and getdate(self.exp_end_date) > getdate(doc.expected_end_date) :
-				frappe.msgprint(_("Expected end date cannot be after Project: <b>'{0}'</b> Expected end date").format(doc.name))
-				raise EndDateConnotGreaterThanProjecteEndDateError
+			if frappe.db.exists("Project", self.project):
+				doc = frappe.get_doc("Project", self.project)
+				if  self.exp_end_date and doc.expected_end_date and getdate(self.exp_end_date) > getdate(doc.expected_end_date) :
+					frappe.msgprint(_("Expected end date cannot be after Project: <b>'{0}'</b> Expected end date").format(doc.name))
+					raise EndDateCannotGreaterThanProjecteEndDateError
 
 	def validate_status(self):
 		if self.status!=self.get_db_value("status") and self.status == "Closed":
diff --git a/erpnext/projects/doctype/task/test_task.py b/erpnext/projects/doctype/task/test_task.py
index 1585e79..b9d7958 100644
--- a/erpnext/projects/doctype/task/test_task.py
+++ b/erpnext/projects/doctype/task/test_task.py
@@ -5,7 +5,7 @@
 import unittest
 from frappe.utils import getdate, nowdate, add_days
 
-from erpnext.projects.doctype.task.task import CircularReferenceError, EndDateConnotGreaterThanProjecteEndDateError
+from erpnext.projects.doctype.task.task import CircularReferenceError, EndDateCannotGreaterThanProjecteEndDateError
 
 class TestTask(unittest.TestCase):
 	def test_circular_reference(self):
@@ -102,7 +102,7 @@
 		pro = frappe.get_doc("Project", task_end.project)
 		pro.expected_end_date = add_days(nowdate(), 40)
 		pro.save()
-		self.assertRaises(EndDateConnotGreaterThanProjecteEndDateError, task_end.save)
+		self.assertRaises(EndDateCannotGreaterThanProjecteEndDateError, task_end.save)
 
 
 
