diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index dd156d0..426b004 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -1010,9 +1010,6 @@
 	doc = get_mapped_doc("Sales Order", source_name, {
 		"Sales Order": {
 			"doctype": "Pick List",
-			"field_map": {
-				"doctype": "items_based_on"
-			},
 			"validation": {
 				"docstatus": ["=", 1]
 			}
@@ -1028,4 +1025,6 @@
 		},
 	}, target_doc)
 
+	doc.purpose = 'Delivery against Sales Order'
+
 	return doc
diff --git a/erpnext/stock/doctype/pick_list/pick_list.js b/erpnext/stock/doctype/pick_list/pick_list.js
index 6f39d88..c2dddab 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.js
+++ b/erpnext/stock/doctype/pick_list/pick_list.js
@@ -23,16 +23,21 @@
 	refresh: (frm) => {
 		frm.trigger('add_get_items_button');
 
-		if (frm.doc.items && (frm.doc.items.length > 1 || frm.doc.items[0].item_code)) {
+		if (frm.doc.items && (frm.doc.items.length > 1 || frm.doc.items[0].item_code) && frm.doc.docstatus === 0) {
 			frm.add_custom_button(__('Get Item Locations'), () => {
 				frm.call('set_item_locations');
 			}).addClass('btn-primary');
 		}
-		if (frm.doc.docstatus == 1) {
-			if (frm.doc.items_based_on === 'Sales Order') {
+		if (frm.doc.docstatus === 1) {
+			if (frm.doc.purpose === 'Delivery against Sales Order') {
 				frm.add_custom_button(__('Delivery Note'), () => frm.trigger('create_delivery_note'), __('Create'));
 			} else {
-				frm.add_custom_button(__('Stock Entry'), () => frm.trigger('create_stock_entry'), __('Create'));
+				frappe.xcall('erpnext.stock.doctype.pick_list.pick_list.stock_entry_exists', {
+					'pick_list_name': frm.doc.name
+				}).then(exists => {
+					if (exists) return;
+					frm.add_custom_button(__('Stock Entry'), () => frm.trigger('create_stock_entry'), __('Create'));
+				});
 			}
 		}
 	},
@@ -65,7 +70,7 @@
 			}, __("Select Quantity"), __('Get Items'));
 		});
 	},
-	items_based_on: (frm) => {
+	purpose: (frm) => {
 		frm.clear_table('items');
 		frm.clear_table('locations');
 		frm.trigger('add_get_items_button');
@@ -85,8 +90,8 @@
 		});
 	},
 	add_get_items_button(frm) {
-		let source_doctype = frm.doc.items_based_on;
-		if (source_doctype != 'Sales Order') return;
+		let purpose = frm.doc.purpose;
+		if (purpose != 'Delivery against Sales Order' || frm.doc.docstatus !== 0) return;
 		let get_query_filters = {
 			docstatus: 1,
 			per_delivered: ['<', 100],
diff --git a/erpnext/stock/doctype/pick_list/pick_list.json b/erpnext/stock/doctype/pick_list/pick_list.json
index 504a3fa..6eca1c6 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.json
+++ b/erpnext/stock/doctype/pick_list/pick_list.json
@@ -6,7 +6,6 @@
  "engine": "InnoDB",
  "field_order": [
   "purpose",
-  "items_based_on",
   "customer",
   "work_order",
   "for_qty",
@@ -48,16 +47,7 @@
    "options": "Warehouse"
   },
   {
-   "default": "Work Order",
-   "fieldname": "items_based_on",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Items Based On",
-   "options": "Sales Order\nWork Order",
-   "reqd": 1
-  },
-  {
-   "depends_on": "eval:doc.items_based_on===\"Sales Order\"",
+   "depends_on": "eval:doc.purpose==='Delivery against Sales Order'",
    "fieldname": "customer",
    "fieldtype": "Link",
    "in_list_view": 1,
@@ -65,7 +55,7 @@
    "options": "Customer"
   },
   {
-   "depends_on": "eval:doc.items_based_on===\"Work Order\"",
+   "depends_on": "eval:doc.purpose==='Material Transfer for Manufacture'",
    "fieldname": "work_order",
    "fieldtype": "Link",
    "label": "Work Order",
@@ -102,15 +92,15 @@
    "read_only": 1
   },
   {
-   "default": "Material Transfer for manufacturing",
+   "default": "Material Transfer for Manufacture",
    "fieldname": "purpose",
    "fieldtype": "Select",
    "label": "Purpose",
-   "options": "Material Transfer for manufacturing\nMaterial Issue\nMaterial Transfer\nDelivery against Sales Order"
+   "options": "Material Transfer for Manufacture\nMaterial Issue\nMaterial Transfer\nDelivery against Sales Order"
   }
  ],
  "is_submittable": 1,
- "modified": "2019-08-22 13:36:18.912659",
+ "modified": "2019-08-22 16:58:07.270447",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Pick List",
diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py
index 550c70f..9b8bdfe 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.py
+++ b/erpnext/stock/doctype/pick_list/pick_list.py
@@ -7,6 +7,7 @@
 import json
 from six import iteritems
 from frappe.model.document import Document
+from frappe import _
 from frappe.utils import floor, flt, today
 from frappe.model.mapper import get_mapped_doc, map_child_doc
 from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note as create_delivery_note_from_sales_order
@@ -234,11 +235,14 @@
 @frappe.whitelist()
 def create_stock_entry(pick_list):
 	pick_list = frappe.get_doc(json.loads(pick_list))
+	if stock_entry_exists(pick_list.get('name')):
+		return frappe.msgprint(_('Stock Entry already exists against this Pick List'))
+
 	work_order = frappe.get_doc("Work Order", pick_list.get('work_order'))
 
 	stock_entry = frappe.new_doc('Stock Entry')
 	stock_entry.pick_list = pick_list.get('name')
-	stock_entry.purpose = 'Material Transfer For Manufacture'
+	stock_entry.purpose = pick_list.get('purpose')
 	stock_entry.set_stock_entry_type()
 	stock_entry.work_order = work_order.name
 	stock_entry.company = work_order.company
@@ -304,4 +308,10 @@
 		}, as_dict=as_dict)
 
 def get_item_details(item_code):
-	pass
\ No newline at end of file
+	pass
+
+@frappe.whitelist()
+def stock_entry_exists(pick_list_name):
+	return frappe.db.exists('Stock Entry', {
+		'pick_list': pick_list_name
+	})
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index 22b84a1..f9e6d29 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -618,7 +618,6 @@
   {
    "fieldname": "pick_list",
    "fieldtype": "Link",
-   "hidden": 1,
    "label": "Pick List",
    "options": "Pick List",
    "read_only": 1
@@ -627,7 +626,7 @@
  "icon": "fa fa-file-text",
  "idx": 1,
  "is_submittable": 1,
- "modified": "2019-08-22 13:09:55.344036",
+ "modified": "2019-08-22 17:11:42.074154",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock Entry",
