Fixes in address template
diff --git a/erpnext/utilities/doctype/address_template/address_template.py b/erpnext/utilities/doctype/address_template/address_template.py
index 4ac8054..c8d3470 100644
--- a/erpnext/utilities/doctype/address_template/address_template.py
+++ b/erpnext/utilities/doctype/address_template/address_template.py
@@ -8,16 +8,16 @@
 
 class AddressTemplate(Document):
 	def validate(self):
-		defaults = frappe.db.get_values("Address Template",
-			{"is_default":1, "name":("!=", self.name)})
+		self.defaults = frappe.db.get_values("Address Template", {"is_default":1, "name":("!=", self.name)})
 		if not self.is_default:
-			if not defaults:
+			if not self.defaults:
 				self.is_default = 1
 				frappe.msgprint(_("Setting this Address Template as default as there is no other default"))
-		else:
-			if defaults:
-				for d in defaults:
-					frappe.db.set_value("Address Template", d[0], "is_default", 0)
+
+	def on_update(self):
+		if self.is_default and self.defaults:
+			for d in self.defaults:
+				frappe.db.set_value("Address Template", d[0], "is_default", 0)
 
 	def on_trash(self):
 		if self.is_default:
diff --git a/erpnext/utilities/doctype/address_template/test_address_template.py b/erpnext/utilities/doctype/address_template/test_address_template.py
index 953c852..d4e3de0 100644
--- a/erpnext/utilities/doctype/address_template/test_address_template.py
+++ b/erpnext/utilities/doctype/address_template/test_address_template.py
@@ -20,3 +20,8 @@
 		b.save()
 
 		self.assertEqual(frappe.db.get_value("Address Template", "India", "is_default"), 0)
+
+	def tearDown(self):
+		a = frappe.get_doc("Address Template", "India")
+		a.is_default = 1
+		a.save()