Index: uspace/app/taskbar-cfg/startmenu.c
===================================================================
--- uspace/app/taskbar-cfg/startmenu.c	(revision f393bc0d4ffc04bd749e016223d32741edb44ab1)
+++ uspace/app/taskbar-cfg/startmenu.c	(revision 2b4e02b03c7990f207b2bd54eec22e308850a1c6)
@@ -366,5 +366,5 @@
  *
  * @param smenu Start menu
- * @return Selected entry
+ * @return Selected entry or @c NULL if no entry is selected
  */
 startmenu_entry_t *startmenu_get_selected(startmenu_t *smenu)
@@ -373,4 +373,7 @@
 
 	entry = ui_list_get_cursor(smenu->entries_list);
+	if (entry == NULL)
+		return NULL;
+
 	return (startmenu_entry_t *)ui_list_entry_get_arg(entry);
 }
@@ -387,4 +390,6 @@
 
 	smentry = startmenu_get_selected(smenu);
+	if (smentry == NULL)
+		return;
 
 	rc = smeedit_create(smenu, smentry, &smee);
@@ -437,6 +442,21 @@
 static void startmenu_delete_entry_clicked(ui_pbutton_t *pbutton, void *arg)
 {
+	startmenu_t *smenu = (startmenu_t *)arg;
+	startmenu_entry_t *smentry;
+	errno_t rc;
+
 	(void)pbutton;
-	(void)arg;
+
+	smentry = startmenu_get_selected(smenu);
+	if (smentry == NULL)
+		return;
+
+	rc = smenu_entry_destroy(smentry->entry);
+	if (rc != EOK)
+		return;
+
+	ui_list_entry_delete(smentry->lentry);
+	free(smentry);
+	(void) ui_control_paint(ui_list_ctl(smenu->entries_list));
 }
 
Index: uspace/lib/tbarcfg/src/tbarcfg.c
===================================================================
--- uspace/lib/tbarcfg/src/tbarcfg.c	(revision f393bc0d4ffc04bd749e016223d32741edb44ab1)
+++ uspace/lib/tbarcfg/src/tbarcfg.c	(revision 2b4e02b03c7990f207b2bd54eec22e308850a1c6)
@@ -441,4 +441,5 @@
 
 	smenu_entry_delete(entry);
+	return EOK;
 error:
 	if (trans != NULL)
Index: uspace/lib/tbarcfg/test/tbarcfg.c
===================================================================
--- uspace/lib/tbarcfg/test/tbarcfg.c	(revision f393bc0d4ffc04bd749e016223d32741edb44ab1)
+++ uspace/lib/tbarcfg/test/tbarcfg.c	(revision 2b4e02b03c7990f207b2bd54eec22e308850a1c6)
@@ -216,3 +216,33 @@
 }
 
+/** Destroy start menu entry */
+PCUT_TEST(entry_destroy)
+{
+	errno_t rc;
+	tbarcfg_t *tbcfg;
+	char fname[L_tmpnam], *p;
+	smenu_entry_t *e;
+
+	p = tmpnam(fname);
+	PCUT_ASSERT_NOT_NULL(p);
+
+	rc = tbarcfg_create(fname, &tbcfg);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = smenu_entry_create(tbcfg, "A", "a");
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	e = tbarcfg_smenu_first(tbcfg);
+	PCUT_ASSERT_NOT_NULL(e);
+
+	rc = smenu_entry_destroy(e);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	e = tbarcfg_smenu_first(tbcfg);
+	PCUT_ASSERT_NULL(e);
+
+	tbarcfg_close(tbcfg);
+	remove(fname);
+}
+
 PCUT_EXPORT(tbarcfg);
