diff --git a/erpnext/accounts/doctype/account/account_tree.js b/erpnext/accounts/doctype/account/account_tree.js
index 3252788..b24a17d 100644
--- a/erpnext/accounts/doctype/account/account_tree.js
+++ b/erpnext/accounts/doctype/account/account_tree.js
@@ -27,13 +27,13 @@
 		{fieldtype:'Select', fieldname:'root_type', label:__('Root Type'),
 			options: ['Asset', 'Liability', 'Equity', 'Income', 'Expense'].join('\n')},
 		{fieldtype:'Select', fieldname:'account_type', label:__('Account Type'),
-			options: ['', 'Bank', 'Cash', 'Warehouse', 'Tax', 'Chargeable'].join('\n'),
+			options: ['', 'Bank', 'Cash', 'Stock', 'Tax', 'Chargeable'].join('\n'),
 			description: __("Optional. This setting will be used to filter in various transactions."),
 			depends_on: 'eval:doc.is_group==1'},
 		{fieldtype:'Float', fieldname:'tax_rate', label:__('Tax Rate'),
 			depends_on: 'eval:doc.is_group==1&&doc.account_type=="Tax"'},
 		{fieldtype:'Link', fieldname:'warehouse', label:__('Warehouse'), options:"Warehouse",
-			depends_on: 'eval:(doc.is_group==1&&doc.account_type=="Warehouse")'},
+			depends_on: 'eval:(!doc.is_group&&doc.account_type=="Warehouse")'},
 		{fieldtype:'Link', fieldname:'account_currency', label:__('Currency'), options:"Currency",
 			description: __("Optional. Sets company's default currency, if not specified.")}
 	],
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index bcbe2da..0ef9735 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -273,7 +273,7 @@
 erpnext.patches.v7_0.update_mins_to_first_response
 erpnext.patches.v6_20x.repost_valuation_rate_for_negative_inventory
 erpnext.patches.v7_0.re_route #2016-06-27
-erpnext.patches.v7_0.create_warehouse_nestedset
+erpnext.patches.v7_0.create_warehouse_nestedset #2016-06-28
 erpnext.patches.v7_0.system_settings_setup_complete
 erpnext.patches.v7_0.merge_account_type_stock_and_warehouse_to_stock
 erpnext.patches.v7_0.set_naming_series_for_timesheet
diff --git a/erpnext/patches/v7_0/create_warehouse_nestedset.py b/erpnext/patches/v7_0/create_warehouse_nestedset.py
index aaccfb9..cfe20da 100644
--- a/erpnext/patches/v7_0/create_warehouse_nestedset.py
+++ b/erpnext/patches/v7_0/create_warehouse_nestedset.py
@@ -1,17 +1,21 @@
 import frappe
 from frappe import _
+from frappe.utils import cint
 
 def execute():
 	frappe.reload_doc("stock", "doctype", "warehouse")
-	
+
 	for company in frappe.get_all("Company", fields=["name", "abbr"]):
+		validate_parent_account_for_warehouse(company)
+		
 		if not frappe.db.get_value("Warehouse", "{0} - {1}".format(_("All Warehouses"), company.abbr)):
 			create_default_warehouse_group(company)
 		
 		for warehouse in frappe.get_all("Warehouse", filters={"company": company.name}, fields=["name", "create_account_under",
 			"parent_warehouse", "is_group"]):
 			set_parent_to_warehouses(warehouse, company)
-			set_parent_to_warehouse_acounts(warehouse, company)
+			if cint(frappe.defaults.get_global_default("auto_accounting_for_stock")):
+				set_parent_to_warehouse_acounts(warehouse, company)
 
 def set_parent_to_warehouses(warehouse, company):
 	warehouse = frappe.get_doc("Warehouse", warehouse.name)
@@ -45,4 +49,18 @@
 		"is_group": 1,
 		"company": company.name,
 		"parent_warehouse": ""
-	}).insert(ignore_permissions=True)
\ No newline at end of file
+	}).insert(ignore_permissions=True)
+	
+def validate_parent_account_for_warehouse(company):
+	if cint(frappe.defaults.get_global_default("auto_accounting_for_stock")):
+		parent_account = frappe.db.sql("""select name from tabAccount
+			where account_type='Stock' and company=%s and is_group=1
+			and (warehouse is null or warehouse = '')""", company.name)
+		if not parent_account:
+			current_parent_accounts_for_warehouse = frappe.db.sql("""select parent_account from tabAccount
+				where account_type='Warehouse' and (warehouse is not null or warehouse != '') """)
+			if current_parent_accounts_for_warehouse:
+				doc = frappe.get_doc("Account", current_parent_accounts_for_warehouse[0][0])
+				doc.account_type = "Stock"
+				doc.warehouse = ""
+				doc.save(ignore_permissions=True)
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index 3b50f30..515d260 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -113,7 +113,7 @@
 		if warehouse_account:
 			frappe.delete_doc("Account", warehouse_account)
 
-		if self.check_sle_exists():
+		if self.check_if_sle_exists():
 			throw(_("Warehouse can not be deleted as stock ledger entry exists for this warehouse."))
 
 		if self.check_if_child_exists():
