diff --git a/.travis.yml b/.travis.yml
index f20128d..747de20 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,17 +33,16 @@
   - cd ~/frappe-bench
   - bench get-app erpnext $TRAVIS_BUILD_DIR
   - bench use test_site
-  - bench reinstall --mariadb-root-username root --mariadb-root-password travis --yes
-  - bench build
-  - bench scheduler disable
-  - sed -i 's/9000/9001/g' sites/common_site_config.json
-  - bench start &
-  - sleep 10
 
 jobs:
   include:
     - stage: test
       script:
+        - bench reinstall --mariadb-root-username root --mariadb-root-password travis --yes
+        - bench scheduler disable
+        - sed -i 's/9000/9001/g' sites/common_site_config.json
+        - bench start &
+        - sleep 10
         - set -e
         - bench run-tests --app erpnext --coverage
       after_script:
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index b9b5347..29e4244 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -5,7 +5,7 @@
 from erpnext.hooks import regional_overrides
 from frappe.utils import getdate
 
-__version__ = '10.1.77'
+__version__ = '10.1.78'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index dc4dd80..69ad5d1 100755
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -1,5 +1,6 @@
 execute:import unidecode # new requirement
 erpnext.patches.v8_0.move_perpetual_inventory_setting
+erpnext.patches.v8_9.set_print_zero_amount_taxes
 erpnext.patches.v11_0.rename_production_order_to_work_order
 erpnext.patches.v11_0.refactor_naming_series
 erpnext.patches.v11_0.refactor_autoname_naming
@@ -442,7 +443,6 @@
 erpnext.patches.v8_9.rename_company_sales_target_field
 erpnext.patches.v8_8.set_bom_rate_as_per_uom
 erpnext.patches.v8_8.add_new_fields_in_accounts_settings
-erpnext.patches.v8_9.set_print_zero_amount_taxes
 erpnext.patches.v8_9.set_default_customer_group
 erpnext.patches.v8_9.delete_gst_doctypes_for_outside_india_accounts
 erpnext.patches.v8_9.set_default_fields_in_variant_settings
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index 3b36a2d..78fb0c1 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -31,6 +31,26 @@
 
 		self.assertFalse(sales_order.get('payment_schedule'))
 
+	def test_make_sales_order_with_different_currency(self):
+		from erpnext.selling.doctype.quotation.quotation import make_sales_order
+
+		quotation = frappe.copy_doc(test_records[0])
+		quotation.transaction_date = nowdate()
+		quotation.valid_till = add_months(quotation.transaction_date, 1)
+		quotation.insert()
+		quotation.submit()
+
+		sales_order = make_sales_order(quotation.name)
+		sales_order.currency = "USD"
+		sales_order.conversion_rate = 20.0
+		sales_order.delivery_date = "2019-01-01"
+		sales_order.naming_series = "_T-Quotation-"
+		sales_order.transaction_date = nowdate()
+		sales_order.insert()
+
+		self.assertEquals(sales_order.currency, "USD")
+		self.assertNotEqual(sales_order.currency, quotation.currency)
+
 	def test_make_sales_order(self):
 		from erpnext.selling.doctype.quotation.quotation import make_sales_order
 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 445e02b..b589cde 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -147,7 +147,7 @@
 		super(SalesOrder, self).validate_with_previous_doc({
 			"Quotation": {
 				"ref_dn_field": "prevdoc_docname",
-				"compare_fields": [["company", "="], ["currency", "="]]
+				"compare_fields": [["company", "="]]
 			}
 		})
 
diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py
index 254d7b7..cc3205c 100644
--- a/erpnext/shopping_cart/cart.py
+++ b/erpnext/shopping_cart/cart.py
@@ -66,7 +66,7 @@
 	sales_order = frappe.get_doc(_make_sales_order(quotation.name, ignore_permissions=True))
 	for item in sales_order.get("items"):
 		item.reserved_warehouse, is_stock_item = frappe.db.get_value("Item",
-			item.item_code, ["website_warehouse", "is_stock_item"]) or None, None
+			item.item_code, ["website_warehouse", "is_stock_item"])
 
 		if is_stock_item:
 			item_stock = get_qty_in_stock(item.item_code, "website_warehouse")
diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.js b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.js
index 3219d7a..e1510f5 100644
--- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.js
+++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.js
@@ -5,6 +5,7 @@
 	onload: function() {
 		if(cur_frm.doc.__onload && cur_frm.doc.__onload.quotation_series) {
 			cur_frm.fields_dict.quotation_series.df.options = cur_frm.doc.__onload.quotation_series;
+			cur_frm.refresh_field("quotation_series");
 		}
 	},
 	refresh: function(){
