diff --git a/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json b/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
index ea9569f..4c00280 100644
--- a/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
+++ b/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
@@ -16,6 +16,14 @@
    "precision": ""
   }, 
   {
+   "description": "Disables creation of time logs against Production Orders.\nOperations shall not be tracked against Production Order", 
+   "fieldname": "disable_capacity_planning", 
+   "fieldtype": "Check", 
+   "label": "Disable Capacity Planning", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "description": "Plan time logs outside Workstation Working Hours.", 
    "fieldname": "allow_overtime", 
    "fieldtype": "Check", 
@@ -72,7 +80,7 @@
  "is_submittable": 0, 
  "issingle": 1, 
  "istable": 0, 
- "modified": "2015-06-15 05:52:22.986958", 
+ "modified": "2015-07-21 08:51:01.651774", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Manufacturing Settings", 
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index 17fa202..f8d76ff 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -186,27 +186,16 @@
 	},
 
 	bom_no: function() {
-		if (this.frm.doc.track_operations) {
-			return this.frm.call({
-				doc: this.frm.doc,
-				method: "set_production_order_operations"
-			});
-		}
+		return this.frm.call({
+		doc: this.frm.doc,
+		method: "set_production_order_operations"
+		});
 	},
 	
 	qty: function() {
 		frappe.ui.form.trigger("Production Order", 'bom_no')
 	},
 	
-	track_operations: function(doc) {
-		if (doc.track_operations) {
-			frappe.ui.form.trigger("Production Order", 'bom_no')
-		}
-		else {
-			doc.operations =[];
-		}
-	},
-
 	show_time_logs: function(doc, cdt, cdn) {
 		var child = locals[cdt][cdn]
 		frappe.route_options = {"operation_id": child.name};
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.json b/erpnext/manufacturing/doctype/production_order/production_order.json
index 75aab99..e07ac5b 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.json
+++ b/erpnext/manufacturing/doctype/production_order/production_order.json
@@ -74,14 +74,6 @@
    "permlevel": 0
   }, 
   {
-   "default": "1", 
-   "fieldname": "track_operations", 
-   "fieldtype": "Check", 
-   "label": "Track Operations", 
-   "permlevel": 0, 
-   "precision": ""
-  }, 
-  {
    "fieldname": "column_break1", 
    "fieldtype": "Column Break", 
    "oldfieldtype": "Column Break", 
@@ -215,7 +207,7 @@
    "read_only": 1
   }, 
   {
-   "depends_on": "track_operations", 
+   "depends_on": "", 
    "fieldname": "operations_section", 
    "fieldtype": "Section Break", 
    "label": "Operations", 
@@ -234,7 +226,7 @@
    "read_only": 1
   }, 
   {
-   "depends_on": "track_operations", 
+   "depends_on": "operations", 
    "fieldname": "section_break_22", 
    "fieldtype": "Section Break", 
    "label": "Operation Cost", 
@@ -368,7 +360,7 @@
  "idx": 1, 
  "in_create": 0, 
  "is_submittable": 1, 
- "modified": "2015-07-13 05:28:23.259016", 
+ "modified": "2015-07-21 07:45:53.206902", 
  "modified_by": "Administrator", 
  "module": "Manufacturing", 
  "name": "Production Order", 
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index 93ce5e1..072ad41 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -174,17 +174,12 @@
 
 	def set_production_order_operations(self):
 		"""Fetch operations from BOM and set in 'Production Order'"""
-		if not self.bom_no:
+		if not self.bom_no or cint(frappe.db.get_single_value("Manufacturing Settings", "disable_capacity_planning")):
 			return
 		self.set('operations', [])
 		operations = frappe.db.sql("""select operation, description, workstation, idx,
 			hour_rate, time_in_mins, "Pending" as status from `tabBOM Operation`
 			where parent = %s order by idx""", self.bom_no, as_dict=1)
-		if operations:
-			self.track_operations=1
-		else:
-			self.track_operations=0
-			frappe.msgprint(_("Cannot 'track operations' as selected BOM does not have Operations."))
 		self.set('operations', operations)
 		self.calculate_time()
 
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index c735507..7629123 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -173,7 +173,6 @@
 erpnext.patches.v5_0.update_item_desc_in_invoice
 erpnext.patches.v5_1.fix_against_account
 erpnext.patches.v5_1.fix_credit_days_based_on
-erpnext.patches.v5_1.track_operations
 execute:frappe.rename_doc("DocType", "Salary Manager", "Process Payroll", force=True)
 erpnext.patches.v5_1.rename_roles
 erpnext.patches.v5_1.default_bom
diff --git a/erpnext/patches/v5_1/track_operations.py b/erpnext/patches/v5_1/track_operations.py
deleted file mode 100644
index 0a12142..0000000
--- a/erpnext/patches/v5_1/track_operations.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from __future__ import unicode_literals
-
-import frappe
-
-def execute():
-	frappe.reload_doctype("Production Order")
-	frappe.db.sql("""Update `tabProduction Order` as po set track_operations=1 where 
-		exists(select name from `tabProduction Order Operation` as po_operation where po_operation.parent = po.name )""")
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index fb1ec3d..cae0571 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -201,9 +201,7 @@
 	def check_if_operations_completed(self):
 		"""Check if Time Logs are completed against before manufacturing to capture operating costs."""
 		prod_order = frappe.get_doc("Production Order", self.production_order)
-		if not prod_order.track_operations:
-			return
-			
+
 		for d in prod_order.get("operations"):
 			total_completed_qty = flt(self.fg_completed_qty) + flt(prod_order.produced_qty)
 			if total_completed_qty > flt(d.completed_qty):
