diff --git a/libmenu/entry-directories.c b/libmenu/entry-directories.c
index c459ff5..13a2dde 100644
--- a/libmenu/entry-directories.c
+++ b/libmenu/entry-directories.c
@@ -451,6 +451,11 @@ handle_cached_dir_changed (MenuMonitor      *monitor,
 
   if (handled)
     {
+      if (event == MENU_MONITOR_EVENT_CREATED || event == MENU_MONITOR_EVENT_DELETED)
+        {
+          _entry_directory_list_empty_desktop_cache ();
+        }
+
       cached_dir_invoke_monitors (dir);
     }
 }
