diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py
index 0d01c67..b0b00b2 100644
--- a/erpnext/hub_node/api.py
+++ b/erpnext/hub_node/api.py
@@ -70,7 +70,7 @@
 	field_mappings = get_field_mappings()
 	table_fields = [d.fieldname for d in frappe.get_meta('Item').get_table_fields()]
 
-	hub_seller_name = frappe.db.get_value('Marketplace Settings' , 'Marketplace Settings', 'hub_seller_name')
+	hub_seller_name = frappe.db.get_value('Marketplace Settings', 'Marketplace Settings', 'hub_seller_name')
 
 	for item in items:
 		for fieldname in table_fields:
@@ -148,6 +148,23 @@
 		frappe.log_error(message=e, title='Hub Sync Error')
 
 @frappe.whitelist()
+def unpublish_item(item):
+	''' Remove item listing from the marketplace '''
+	item = json.loads(item)
+
+	item_code = item.get('item_code')
+	frappe.db.set_value('Item', item_code, 'publish_in_hub', 0)
+
+	item = map_fields([item])[0]
+
+	try:
+		connection = get_hub_connection()
+		connection.set_value('Hub Item', item.get('name'), 'published', 0)
+
+	except Exception as e:
+		frappe.log_error(message=e, title='Hub Sync Error')
+
+@frappe.whitelist()
 def get_unregistered_users():
 	settings = frappe.get_single('Marketplace Settings')
 	registered_users = [user.user for user in settings.users] + ['Administrator', 'Guest']
diff --git a/erpnext/public/js/hub/pages/Item.vue b/erpnext/public/js/hub/pages/Item.vue
index 841d004..285f696 100644
--- a/erpnext/public/js/hub/pages/Item.vue
+++ b/erpnext/public/js/hub/pages/Item.vue
@@ -300,7 +300,21 @@
 		},
 
 		unpublish_item() {
-			frappe.msgprint(__('This feature is under development...'));
+			let me = this;
+			frappe.confirm(__(`Unpublish ${this.item.item_name}?`), function () {
+				frappe.call(
+					'erpnext.hub_node.api.unpublish_item',
+					{
+						item: me.item
+					}
+				)
+				.then((r) => {
+					frappe.set_route(`marketplace/home`);
+					frappe.show_alert(__('Item listing removed'))
+
+				})
+				
+			})
 		}
 	}
 }
