diff --git a/erpnext/controllers/js/contact_address_common.js b/erpnext/controllers/js/contact_address_common.js
index d06f6a0..77f4742 100644
--- a/erpnext/controllers/js/contact_address_common.js
+++ b/erpnext/controllers/js/contact_address_common.js
@@ -1,35 +1,36 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.cscript.onload = function(doc, cdt, cdn) {	
+cur_frm.cscript.onload = function(doc, cdt, cdn) {
 	cur_frm.add_fetch('customer', 'customer_name', 'customer_name');
 	cur_frm.add_fetch('supplier', 'supplier_name', 'supplier_name');
 
 	cur_frm.fields_dict.customer.get_query = erpnext.queries.customer;
 	cur_frm.fields_dict.supplier.get_query = erpnext.queries.supplier;
-	
+
 	if(cur_frm.fields_dict.lead) {
 		cur_frm.fields_dict.lead.get_query = erpnext.queries.lead;
 		cur_frm.add_fetch('lead', 'lead_name', 'lead_name');
 	}
-	
+
 	if(doc.__islocal) {
 		var last_route = frappe.route_history.slice(-2, -1)[0];
 		if(last_route && last_route[0]==="Form") {
 			var doctype = last_route[1],
 				docname = last_route.slice(2).join("/");
-			
+
 			if(["Customer", "Quotation", "Sales Order", "Sales Invoice", "Delivery Note",
 				"Installation Note", "Opportunity", "Customer Issue", "Maintenance Visit",
 				"Maintenance Schedule"]
 				.indexOf(doctype)!==-1) {
 				var refdoc = frappe.get_doc(doctype, docname);
-
-				if(refdoc.doctype == "Quotation" ? refdoc.quotation_to=="Customer" : true) {
-					cur_frm.set_value("customer", refdoc.customer || refdoc.name);
-					cur_frm.set_value("customer_name", refdoc.customer_name);
-					if(cur_frm.doc.doctype==="Address")
-						cur_frm.set_value("address_title", cur_frm.doc.customer_name);
+				if((refdoc.doctype == "Quotation" && refdoc.quotation_to=="Customer") ||
+					(refdoc.doctype == "Opportunity" && refdoc.enquiry_from=="Customer") ||
+					!in_list(["Opportunity", "Quotation"], doctype)) {
+						cur_frm.set_value("customer", refdoc.customer || refdoc.name);
+						cur_frm.set_value("customer_name", refdoc.customer_name);
+						if(cur_frm.doc.doctype==="Address")
+							cur_frm.set_value("address_title", cur_frm.doc.customer_name);
 				}
 			}
 			if(["Supplier", "Supplier Quotation", "Purchase Order", "Purchase Invoice", "Purchase Receipt"]
@@ -40,15 +41,16 @@
 				if(cur_frm.doc.doctype==="Address")
 					cur_frm.set_value("address_title", cur_frm.doc.supplier_name);
 			}
-			if(["Lead", "Quotation"]
+			if(["Lead", "Opportunity", "Quotation"]
 				.indexOf(doctype)!==-1) {
 				var refdoc = frappe.get_doc(doctype, docname);
-				
-				if(refdoc.doctype == "Quotation" ? refdoc.quotation_to=="Lead" : true) {
-					cur_frm.set_value("lead", refdoc.lead || refdoc.name);
-					cur_frm.set_value("lead_name", refdoc.customer_name || refdoc.company_name || refdoc.lead_name);
-					if(cur_frm.doc.doctype==="Address")
-						cur_frm.set_value("address_title", cur_frm.doc.lead_name);
+
+				if((refdoc.doctype == "Quotation" && refdoc.quotation_to=="Lead") ||
+					(refdoc.doctype == "Opportunity" && refdoc.enquiry_from=="Lead") || (doctype=="Lead")) {
+						cur_frm.set_value("lead", refdoc.lead || refdoc.name);
+						cur_frm.set_value("lead_name", refdoc.customer_name || refdoc.company_name || refdoc.lead_name);
+						if(cur_frm.doc.doctype==="Address")
+							cur_frm.set_value("address_title", cur_frm.doc.lead_name);
 				}
 			}
 		}
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index 81e028e..cc61d56 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -55,7 +55,6 @@
 					})
 					ac_doc.ignore_permissions = True
 					ac_doc.insert()
-
 					msgprint(_("Account head {0} created").format(ac_doc.name))
 
 	def validate_parent_account(self):
