diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index 5f15675..3d74f24 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -151,7 +151,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.drop_ship==1", 
+   "depends_on": "eval:doc.is_drop_ship==1", 
    "fieldname": "customer", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -175,7 +175,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.drop_ship==1", 
+   "depends_on": "eval:doc.is_drop_ship==1", 
    "fieldname": "customer_name", 
    "fieldtype": "Data", 
    "hidden": 0, 
@@ -465,13 +465,13 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "drop_ship", 
+   "fieldname": "is_drop_ship", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Drop Ship", 
+   "label": "Is Drop Ship", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
@@ -1561,7 +1561,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.drop_ship==1", 
+   "depends_on": "eval:doc.is_drop_ship==1", 
    "fieldname": "customer_address", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -1627,7 +1627,7 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "depends_on": "eval:doc.drop_ship==1", 
+   "depends_on": "eval:doc.is_drop_ship==1", 
    "fieldname": "customer_contact_person", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -2238,7 +2238,7 @@
  "is_submittable": 1, 
  "issingle": 0, 
  "istable": 0, 
- "modified": "2015-10-19 14:23:14.190768", 
+ "modified": "2015-10-19 15:58:28.388829", 
  "modified_by": "Administrator", 
  "module": "Buying", 
  "name": "Purchase Order", 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index ab5ddbd..911f4b7 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -505,6 +505,9 @@
 		target.run_method("calculate_taxes_and_totals")
 
 	def update_item(source, target, source_parent):
+		target.schedule_date = source_parent.delivery_date
+		target.rate = ''
+		target.price_list_rate = ''
 		target.base_amount = (flt(source.qty) - flt(source.ordered_qty)) * flt(source.base_rate)
 		target.amount = (flt(source.qty) - flt(source.ordered_qty)) * flt(source.rate)
 		target.qty = flt(source.qty) - flt(source.ordered_qty)
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index d4819a5..281ba28 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -296,28 +296,50 @@
 
 		frappe.db.set_value("Stock Settings", None, "auto_insert_price_list_rate_if_missing", 1)
 	
-	def test_drop_shipping(self):
-		from erpnext.selling.doctype.sales_order.sales_order import make_drop_shipment
-		from erpnext.stock.doctype.item.test_item import make_item
-		
-		item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 0, "is_sales_item": 1, 
-			"is_purchase_item": 1})
-		
-		so = make_sales_order(drop_ship=1, item_code=item.item_code)
-		po = make_drop_shipment(so.name)
-		
-		self.assertEquals(so.customer, po.customer)
-		self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order")
-		self.assertEquals(po.items[0].prevdoc_docname, so.name)
+	# def test_drop_shipping(self):
+	# 	from erpnext.selling.doctype.sales_order.sales_order import make_drop_shipment, make_delivery_note
+	# 	from erpnext.stock.doctype.item.test_item import make_item
+	#
+	# 	po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 0, "is_sales_item": 1,
+	# 		"is_purchase_item": 1, "is_drop_ship": 1, 'default_supplier': '_Test Supplier'})
+	#
+	# 	dn_item = make_item("_Test Regular Item", {"is_stock_item": 0, "is_sales_item": 1,
+	# 		"is_purchase_item": 1})
+	#
+	# 	so_items = [
+	# 		{
+	# 			"item_code": po_item.item_code,
+	# 			"warehouse": "_Test Warehouse - _TC",
+	# 			"qty": 1,
+	# 			"rate": 400,
+	# 			"conversion_factor": 1.0,
+	# 			"is_drop_ship": 1,
+	# 			"supplier": '_Test Supplier'
+	# 		},
+	# 		{
+	# 			"item_code": dn_item.item_code,
+	# 			"warehouse": "_Test Warehouse - _TC",
+	# 			"qty": 1,
+	# 			"rate": 300,
+	# 			"conversion_factor": 1.0
+	# 		}
+	# 	]
+	#
+	# 	so = make_sales_order(items=so_items)
+	# 	po = make_drop_shipment(so.name, '_Test Supplier')
+	# 	dn = make_delivery_note(so.name)
+	#
+	# 	self.assertEquals(so.customer, po.customer)
+	# 	self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order")
+	# 	self.assertEquals(po.items[0].prevdoc_docname, so.name)
+	# 	self.assertEquals(po.items[0].item_code, po_item.item_code)
+	# 	self.assertEquals(dn.items[0].item_code, dn.item_code)
 
 def make_sales_order(**args):
 	so = frappe.new_doc("Sales Order")
 	args = frappe._dict(args)
 	if args.transaction_date:
 		so.transaction_date = args.transaction_date
-		
-	if args.drop_ship:
-		so.drop_ship = 1
 
 	so.company = args.company or "_Test Company"
 	so.customer = args.customer or "_Test Customer"
@@ -328,15 +350,19 @@
 
 	if "warehouse" not in args:
 		args.warehouse = "_Test Warehouse - _TC"
-
-	so.append("items", {
-		"item_code": args.item or args.item_code or "_Test Item",
-		"warehouse": args.warehouse,
-		"qty": args.qty or 10,
-		"rate": args.rate or 100,
-		"conversion_factor": 1.0,
-	})
-
+		
+	if args.items:
+		so.items = args.items
+		
+	else:
+		so.append("items", {
+			"item_code": args.item or args.item_code or "_Test Item",
+			"warehouse": args.warehouse,
+			"qty": args.qty or 10,
+			"rate": args.rate or 100,
+			"conversion_factor": 1.0,
+		})
+		
 	if not args.do_not_save:
 		so.insert()
 		if not args.do_not_submit:
