diff --git a/erpnext/public/js/hub/PageContainer.vue b/erpnext/public/js/hub/PageContainer.vue
index cec4c8d..981c44e 100644
--- a/erpnext/public/js/hub/PageContainer.vue
+++ b/erpnext/public/js/hub/PageContainer.vue
@@ -20,23 +20,29 @@
 import Profile from './pages/Profile.vue';
 import NotFound from './pages/NotFound.vue';
 
-const route_map = {
-	'marketplace/home': Home,
-	'marketplace/search/:keyword': Search,
-	'marketplace/category/:category': Category,
-	'marketplace/item/:item': Item,
-	'marketplace/seller/:seller': Seller,
-	'marketplace/not-found': NotFound,
-
-	// Registered seller routes
-	'marketplace/profile': Profile,
-	'marketplace/saved-items': SavedItems,
-	'marketplace/publish': Publish,
-	'marketplace/published-items': PublishedItems,
-	'marketplace/buying': Buying,
-	'marketplace/buying/:item': Messages,
-	'marketplace/selling': Selling,
-	'marketplace/selling/:buyer/:item': Messages
+function get_route_map() {
+	const read_only_routes = {
+		'marketplace/home': Home,
+		'marketplace/search/:keyword': Search,
+		'marketplace/category/:category': Category,
+		'marketplace/item/:item': Item,
+		'marketplace/seller/:seller': Seller,
+		'marketplace/not-found': NotFound,
+	}
+	const registered_routes = {
+		'marketplace/profile': Profile,
+		'marketplace/saved-items': SavedItems,
+		'marketplace/publish': Publish,
+		'marketplace/published-items': PublishedItems,
+		'marketplace/buying': Buying,
+		'marketplace/buying/:item': Messages,
+		'marketplace/selling': Selling,
+		'marketplace/selling/:buyer/:item': Messages
+	}
+	const hub_registered = hub.settings.registered;
+	return hub_registered
+		? Object.assign({}, read_only_routes, registered_routes)
+		: read_only_routes;
 }
 
 export default {
@@ -56,6 +62,7 @@
 			this.current_page = this.get_current_page();
 		},
 		get_current_page() {
+			const route_map = get_route_map();
 			const curr_route = frappe.get_route_str();
 			let route = Object.keys(route_map).filter(route => route == curr_route)[0];
 			if (!route) {
