diff --git a/selling/doctype/opportunity/opportunity.py b/selling/doctype/opportunity/opportunity.py
index 477521c..5854758 100644
--- a/selling/doctype/opportunity/opportunity.py
+++ b/selling/doctype/opportunity/opportunity.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 
-from webnotes.utils import cstr, getdate, cint
+from webnotes.utils import cstr, cint
 from webnotes.model.bean import getlist
 from webnotes import msgprint
 
@@ -19,6 +19,13 @@
 		self.fname = 'enq_details'
 		self.tname = 'Opportunity Item'
 		
+		self._prev = webnotes._dict({
+			"contact_date": webnotes.conn.get_value("Opportunity", self.doc.name, "contact_date") if \
+				(not cint(self.doc.fields.get("__islocal"))) else None,
+			"contact_by": webnotes.conn.get_value("Opportunity", self.doc.name, "contact_by") if \
+				(not cint(self.doc.fields.get("__islocal"))) else None,
+		})
+		
 	def get_item_details(self, item_code):
 		item = sql("""select item_name, stock_uom, description_html, description, item_group, brand
 			from `tabItem` where name = %s""", item_code, as_dict=1)
@@ -90,13 +97,6 @@
 		
 		super(DocType, self).add_calendar_event(opts, force)
 
-	def set_last_contact_date(self):
-		if self._prev.contact_date:
-			if getdate(self._prev.contact_date) < getdate(self.doc.contact_date):
-				self.doc.last_contact_date = self._prev.contact_date
-			elif getdate(self._prev.contact_date) > getdate(self.doc.contact_date):
-				webnotes.throw(webnotes._("Contact Date Cannot be before Last Contact Date"))
-
 	def validate_item_details(self):
 		if not getlist(self.doclist, 'enquiry_details'):
 			msgprint("Please select items for which enquiry needs to be made")
@@ -109,14 +109,6 @@
 			msgprint("Customer is mandatory if 'Opportunity From' is selected as Customer", raise_exception=1)
 
 	def validate(self):
-		self._prev = webnotes._dict({
-			"contact_date": webnotes.conn.get_value("Opportunity", self.doc.name, "contact_date") if \
-				(not cint(self.doc.fields.get("__islocal"))) else None,
-			"contact_by": webnotes.conn.get_value("Opportunity", self.doc.name, "contact_by") if \
-				(not cint(self.doc.fields.get("__islocal"))) else None,
-		})
-		
-		self.set_last_contact_date()
 		self.validate_item_details()
 		self.validate_uom_is_integer("uom", "qty")
 		self.validate_lead_cust()
diff --git a/selling/doctype/opportunity/opportunity.txt b/selling/doctype/opportunity/opportunity.txt
index aeedd08..8a68a31 100644
--- a/selling/doctype/opportunity/opportunity.txt
+++ b/selling/doctype/opportunity/opportunity.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-03-07 18:50:30", 
   "docstatus": 0, 
-  "modified": "2013-09-25 19:32:29", 
+  "modified": "2013-10-09 15:26:29", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -409,20 +409,6 @@
   "read_only": 0
  }, 
  {
-  "allow_on_submit": 0, 
-  "depends_on": "eval:!doc.__islocal", 
-  "description": "Date on which the lead was last contacted", 
-  "doctype": "DocField", 
-  "fieldname": "last_contact_date", 
-  "fieldtype": "Date", 
-  "label": "Last Contact Date", 
-  "no_copy": 1, 
-  "oldfieldname": "last_contact_date", 
-  "oldfieldtype": "Date", 
-  "print_hide": 1, 
-  "read_only": 1
- }, 
- {
   "doctype": "DocField", 
   "fieldname": "to_discuss", 
   "fieldtype": "Small Text", 
