NotFound page for marketplace
diff --git a/erpnext/public/js/hub/marketplace.js b/erpnext/public/js/hub/marketplace.js
index 07e9858..78cf846 100644
--- a/erpnext/public/js/hub/marketplace.js
+++ b/erpnext/public/js/hub/marketplace.js
@@ -166,8 +166,10 @@
 		}
 
 		if (!Object.keys(this.subpages).includes(route[1])) {
-			frappe.show_not_found();
-			return;
+			if (!this.subpages.not_found) {
+				this.subpages.not_found = new erpnext.hub.NotFound(this.$body);
+			}
+			route[1] = 'not_found';
 		}
 
 		this.update_sidebar();
@@ -783,10 +785,20 @@
 	}
 }
 
-function get_empty_state(message) {
-	return `<div class="empty-state flex">
+erpnext.hub.NotFound = class NotFound extends SubPage {
+	refresh() {
+		this.$wrapper.html(get_empty_state(
+			__('Sorry! I could not find what you were looking for.'),
+			`<button class="btn btn-default btn-xs" data-route="marketplace/home">${__('Back to home')}</button>`
+		));
+	}
+}
+
+function get_empty_state(message, action) {
+	return `<div class="empty-state flex align-center flex-column justify-center">
 		<p class="text-muted">${message}</p>
-	</div>`
+		${action ? `<p>${action}</p>`: ''}
+	</div>`;
 }
 
 function get_item_card_container_html(items, title='') {
diff --git a/erpnext/public/less/hub.less b/erpnext/public/less/hub.less
index bd503fe..fd1a752 100644
--- a/erpnext/public/less/hub.less
+++ b/erpnext/public/less/hub.less
@@ -157,8 +157,7 @@
 	}
 
 	.empty-state {
-		justify-content: center;
-		padding-top: 159px;
+		height: 500px;
 	}
 
 	.form-container {