--- /dev/null
+diff -urN aa/desktop-file-utils-0.7/src/menu-entries.c desktop-file-utils-0.7/src/menu-entries.c
+--- aa/desktop-file-utils-0.7/src/menu-entries.c 2004-07-28 22:11:07.960290344 +0200
++++ desktop-file-utils-0.7/src/menu-entries.c 2004-07-28 22:13:30.869564832 +0200
+@@ -1980,6 +1980,47 @@
+ g_free (onlyshowin);
+ }
+ /* End checking for OnlyShowIn */
++
++ if (!show)
++ {
++ e = entry_new (ENTRY_DIRECTORY, basename, filename, show);
++ g_free (str);
++ return e;
++ }
++
++ /* Check for NoShowIn */
++ char *noshowin;
++
++ show = TRUE;
++
++ noshowin = find_value (str, "NoShowIn");
++
++ if (noshowin != NULL)
++ {
++ char **split;
++ int i;
++
++ split = string_list_from_desktop_value (noshowin);
++ i = 0;
++ while (split[i] != NULL)
++ {
++ if (strcmp (split[i], "GNOME") == 0)
++ {
++ show = FALSE;
++ break;
++ }
++
++ ++i;
++ }
++
++ if (!show)
++ menu_verbose ("Not showing \"%s\" due to NoShowIn=%s\n",
++ filename, noshowin);
++
++ g_strfreev (split);
++ g_free (noshowin);
++ }
++ /* End checking for NoShowIn */
+
+ if (!show)
+ {