diff --git a/erpnext/demo/setup/setup_data.py b/erpnext/demo/setup/setup_data.py
index 33f945f..692a6ba 100644
--- a/erpnext/demo/setup/setup_data.py
+++ b/erpnext/demo/setup/setup_data.py
@@ -316,6 +316,8 @@
 		doc.parent_account = frappe.db.get_value('Account', {'account_name': doc.parent_account})
 		doc.insert()
 
+	frappe.flags.in_import = False
+
 def setup_account_to_expense_type():
 	company_abbr = frappe.db.get_value("Company", erpnext.get_default_company(), "abbr")
 	expense_types = [{'name': _('Calls'), "account": "Sales Expenses - "+ company_abbr},
@@ -380,4 +382,6 @@
 
 	frappe.db.commit()
 
+	frappe.flags.in_import = False
+
 
diff --git a/erpnext/patches/v8_1/setup_gst_india.py b/erpnext/patches/v8_1/setup_gst_india.py
index 44b4da0..6bb4776 100644
--- a/erpnext/patches/v8_1/setup_gst_india.py
+++ b/erpnext/patches/v8_1/setup_gst_india.py
@@ -1,6 +1,13 @@
 import frappe
 
 def execute():
+	frappe.reload_doc('regional', 'doctype', 'gst_hsn_code')
+
+	for report_name in ('GST Sales Register', 'GST Purchase Register',
+		'GST Itemised Sales Register', 'GST Itemised Purchase Register'):
+
+		frappe.reload_doc('regional', 'report', frappe.scrub(report_name))
+
 	if frappe.db.get_single_value('System Settings', 'country')=='India':
 		from erpnext.regional.india.setup import setup
 		setup()
diff --git a/erpnext/public/css/erpnext.css b/erpnext/public/css/erpnext.css
index 86dec05..0660b39 100644
--- a/erpnext/public/css/erpnext.css
+++ b/erpnext/public/css/erpnext.css
@@ -104,7 +104,7 @@
 }
 body[data-route="pos"] .pos-payment-row:hover,
 body[data-route="pos"] .pos-keyboard-key:hover {
-  background-color: #FAFBFC;
+  background-color: #fafbfc;
   cursor: pointer;
 }
 body[data-route="pos"] .pos-keyboard-key,
@@ -214,7 +214,7 @@
   font-size: 16px;
 }
 body[data-route="pos"] .selected-payment-mode {
-  background-color: #FAFBFC;
+  background-color: #fafbfc;
   cursor: pointer;
 }
 body[data-route="pos"] .pos-invoice-list {
diff --git a/erpnext/regional/india/setup.py b/erpnext/regional/india/setup.py
index 6060b9f..dc486ee 100644
--- a/erpnext/regional/india/setup.py
+++ b/erpnext/regional/india/setup.py
@@ -32,8 +32,6 @@
 		).insert()
 
 def add_hsn_codes():
-	frappe.reload_doc('regional', 'doctype', 'gst_hsn_code')
-
 	if frappe.db.count('GST HSN Code') > 100:
 		return
 
@@ -55,8 +53,6 @@
 	for report_name in ('GST Sales Register', 'GST Purchase Register',
 		'GST Itemised Sales Register', 'GST Itemised Purchase Register'):
 
-		frappe.reload_doc('regional', 'report', frappe.scrub(report_name))
-
 		if not frappe.db.get_value('Custom Role', dict(report=report_name)):
 			frappe.get_doc(dict(
 				doctype='Custom Role',
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index 2c9957a..47e64d7 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -345,7 +345,6 @@
 	purchase_tax_template["doctype"] = "Purchase Taxes and Charges Template"
 
 	doc = frappe.get_doc(purchase_tax_template)
-	print frappe.as_json(doc)
 	doc.insert(ignore_permissions=True)
 
 def create_items(args):
