diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4164b2b..57fca34 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -20,7 +20,7 @@
 	1. Screenshots (annotated with what should change)
 	1. Screenshots from other products if you want us to implement features present in other products.
 1. Basically, the more you help us, the faster your request is likely to be completed.
-1. A one line future request like **Implement Capacity Planning** will be closed.
+1. A one line feature request like **Implement Capacity Planning** will be closed.
 
 ## Pull Requests
 
diff --git a/startup/boot.py b/startup/boot.py
index 48bdeec..886b805 100644
--- a/startup/boot.py
+++ b/startup/boot.py
@@ -33,9 +33,8 @@
 		
 		# load subscription info
 		import conf
-		for key in ['max_users', 'expires_on', 'max_space', 'status', 'developer_mode',
-			'commercial_support']:
-				if hasattr(conf, key): bootinfo[key] = getattr(conf, key)
+		for key in ['max_users', 'expires_on', 'max_space', 'status', 'commercial_support']:
+			if hasattr(conf, key): bootinfo[key] = getattr(conf, key)
 
 		bootinfo['docs'] += webnotes.conn.sql("""select name, default_currency, cost_center
             from `tabCompany`""", as_dict=1, update={"doctype":":Company"})
