diff --git a/erpnext/assets/doctype/asset/asset.json b/erpnext/assets/doctype/asset/asset.json
index bce8851..573832c 100644
--- a/erpnext/assets/doctype/asset/asset.json
+++ b/erpnext/assets/doctype/asset/asset.json
@@ -1221,7 +1221,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-11-28 07:10:24.760982", 
+ "modified": "2017-12-01 15:11:47.466859", 
  "modified_by": "Administrator", 
  "module": "Assets", 
  "name": "Asset", 
@@ -1247,6 +1247,26 @@
    "share": 1, 
    "submit": 1, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 1, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Quality Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 1, 
+   "write": 1
   }
  ], 
  "quick_entry": 0, 
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index 97cb876..e5b545e 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -17,12 +17,12 @@
 		self.validate_item()
 		self.set_missing_values()
 		self.validate_asset_values()
-		self.make_depreciation_schedule()
-		self.set_accumulated_depreciation()
+		if self.calculate_depreciation:
+			self.make_depreciation_schedule()
+			self.set_accumulated_depreciation()
+			get_depreciation_accounts(self)
 		if self.get("schedules"):
 			self.validate_expected_value_after_useful_life()
-		# Validate depreciation related accounts
-		get_depreciation_accounts(self)
 
 	def on_submit(self):
 		self.set_status()
diff --git a/erpnext/assets/doctype/asset_category/asset_category.json b/erpnext/assets/doctype/asset_category/asset_category.json
index 39b3978..087b83d 100644
--- a/erpnext/assets/doctype/asset_category/asset_category.json
+++ b/erpnext/assets/doctype/asset_category/asset_category.json
@@ -236,7 +236,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-10-19 16:08:02.114363", 
+ "modified": "2017-12-01 15:14:25.645077", 
  "modified_by": "Administrator", 
  "module": "Assets", 
  "name": "Asset Category", 
@@ -282,6 +282,26 @@
    "share": 1, 
    "submit": 0, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Quality Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
   }
  ], 
  "quick_entry": 0, 
diff --git a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.js b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.js
index ebac84c..1583daf 100644
--- a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.js
+++ b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.js
@@ -74,11 +74,23 @@
 		get_next_due_date(frm, cdt, cdn);
 	},
 	assign_to: (frm, cdt, cdn)  => {
+		var d = locals[cdt][cdn];
 		if (frm.doc.__islocal) {
 			frappe.model.set_value(cdt, cdn, "assign_to", "");
 			frappe.model.set_value(cdt, cdn, "assign_to_name", "");
 			frappe.throw(__("Please save before assigning task."));
 		}
+		if (d.assign_to) {
+			return frappe.call({
+				method: 'erpnext.assets.doctype.asset_maintenance.asset_maintenance.assign_tasks',
+				args: {
+					asset_maintenance_name: frm.doc.name,
+					assign_to_member: d.assign_to,
+					maintenance_task: d.maintenance_task,
+					next_due_date: d.next_due_date
+				}
+			});
+		}
 	}
 });
 
diff --git a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.json b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.json
index 4d6a7cf..72d96b0 100644
--- a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.json
+++ b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.json
@@ -420,7 +420,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-11-29 04:42:54.893169", 
+ "modified": "2017-12-01 15:13:29.816396", 
  "modified_by": "Administrator", 
  "module": "Assets", 
  "name": "Asset Maintenance", 
@@ -446,6 +446,26 @@
    "share": 1, 
    "submit": 0, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Manufacturing User", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
   }
  ], 
  "quick_entry": 0, 
diff --git a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
index 0c42a13..7551eae 100644
--- a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
+++ b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
@@ -18,29 +18,12 @@
 				task.maintenance_status = "Overdue"
 
 	def on_update(self):
-		self.sync_maintenance_tasks()
-
-	def after_insert(self):
 		for task in self.get('asset_maintenance_tasks'):
-			self.assign_tasks(task)
-
-	def assign_tasks(self, task):
-		if not task.assign_to:
-			task.db_set("assign_to", self.maintenance_manager)
-			task.db_set("assign_to_name", self.maintenance_manager_name)
-		if task.assign_to:
-			team_member = frappe.get_doc('User', task.assign_to).email
-			args = {
-				'doctype' : self.doctype,
-				'assign_to' : team_member,
-				'name' : self.name,
-				'description' : task.maintenance_task,
-				'date' : task.next_due_date
-			}
-			if not frappe.db.sql("""select owner from `tabToDo`
-				where reference_type=%(doctype)s and reference_name=%(name)s and status="Open"
-				and owner=%(assign_to)s""", args):
-				assign_to.add(args)
+			if not task.assign_to:
+				task.db_set("assign_to", self.maintenance_manager)
+				task.db_set("assign_to_name", self.maintenance_manager_name)
+			assign_tasks(self.name, task.assign_to, task.maintenance_task, task.next_due_date)
+		self.sync_maintenance_tasks()
 
 	def sync_maintenance_tasks(self):
 		tasks_names = []
@@ -55,6 +38,21 @@
 				maintenance_log.db_set('maintenance_status', 'Cancelled')
 
 @frappe.whitelist()
+def assign_tasks(asset_maintenance_name, assign_to_member, maintenance_task, next_due_date):
+	team_member = frappe.get_doc('User', assign_to_member).email
+	args = {
+		'doctype' : 'Asset Maintenance',
+		'assign_to' : team_member,
+		'name' : asset_maintenance_name,
+		'description' : maintenance_task,
+		'date' : next_due_date
+	}
+	if not frappe.db.sql("""select owner from `tabToDo`
+		where reference_type=%(doctype)s and reference_name=%(name)s and status="Open"
+		and owner=%(assign_to)s""", args):
+		assign_to.add(args)
+
+@frappe.whitelist()
 def calculate_next_due_date(periodicity, start_date = None, end_date = None, last_completion_date = None, next_due_date = None):
 	if not start_date and not last_completion_date:
 		start_date = frappe.utils.now()
diff --git a/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.json b/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.json
index 28836b5..3405a7d 100644
--- a/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.json
+++ b/erpnext/assets/doctype/asset_maintenance_team/asset_maintenance_team.json
@@ -236,7 +236,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-10-25 12:59:19.133235", 
+ "modified": "2017-12-01 15:13:00.374360", 
  "modified_by": "Administrator", 
  "module": "Assets", 
  "name": "Asset Maintenance Team", 
@@ -257,7 +257,7 @@
    "print": 1, 
    "read": 1, 
    "report": 1, 
-   "role": "System Manager", 
+   "role": "Manufacturing User", 
    "set_user_permissions": 0, 
    "share": 1, 
    "submit": 0, 
